UNPKG

@salla.sa/twilight-components

Version:
70 lines (69 loc) 2.61 kB
/*! * Crafted with ❤ by Salla */ import { newSpecPage } from "@stencil/core/testing"; import { SallaCountDown } from "../salla-count-down"; describe('salla-count-down', () => { it('should build', () => { expect(new SallaCountDown()).toBeTruthy(); }); describe('rendering', () => { it('should be able to render component', async () => { let page = await newSpecPage({ components: [SallaCountDown], html: '<salla-count-down date="2023-5-22 16:37:52" labeled color="primary">></salla-count-down>' }); await page.waitForChanges(); let component = page.doc.querySelector('salla-count-down'); expect(component.date).toBe("2023-5-22 16:37:52"); }); it('should be able to render empty content for empty date prop', async () => { let page = await newSpecPage({ components: [SallaCountDown], html: '<salla-count-down date="" labeled color="primary">></salla-count-down>' }); await page.waitForChanges(); let component = page.doc.querySelector('salla-count-down'); expect(component.innerHTML.trim().length).toBe(4); }); it('should be able to render empty content for invalid date', async () => { let page = await newSpecPage({ components: [SallaCountDown], html: '<salla-count-down date="2023-13-31 16:37:52" labeled color="primary">></salla-count-down>' }); await page.waitForChanges(); let elements = await page.doc.getElementsByClassName('s-count-down-text-center'); expect(elements.length).toBe(1); }); }); describe("testing methods", () => { let page; let element; //@ts-ignore let date; it("should stop countdown and reset values to 0", async () => { jest.useFakeTimers(); date = new Date(); date.setSeconds(date.getSeconds() + 5); page = await newSpecPage({ components: [SallaCountDown], html: `<salla-count-down date={date.toJSON()}></salla-count-down>` }); await page.waitForChanges(); element = await page.doc.querySelector('salla-count-down'); jest.runAllTimers(); let endClass = await page.doc.getElementsByClassName('s-count-down-ended'); expect(endClass.length).toBe(0); await element.endCountDown() //@ts-ignore .then(async (resp) => { await page.waitForChanges(); //@ts-ignore let a = await page.doc.getElementsByClassName('s-count-down-ended'); expect(a).not.toBeNull(); }); jest.useRealTimers(); }); }); }); //# sourceMappingURL=salla-count-down.spec.js.map