diff --git a/packages/effect-fc/src/Component.test.tsx b/packages/effect-fc/src/Component.test.tsx index 8ab9af1..945d875 100644 --- a/packages/effect-fc/src/Component.test.tsx +++ b/packages/effect-fc/src/Component.test.tsx @@ -273,6 +273,7 @@ describe("Component", () => { ) await screen.findByText("first") + vi.useFakeTimers() view.rerender( @@ -280,16 +281,19 @@ describe("Component", () => { ) - await screen.findByText("second") + expect(screen.getByText("second")).toBeTruthy() expect(cleanup).not.toHaveBeenCalled() - await new Promise(resolve => setTimeout(resolve, 5)) + await vi.advanceTimersByTimeAsync(19) expect(cleanup).not.toHaveBeenCalled() - await waitFor(() => expect(cleanup).toHaveBeenCalledWith("first"), { timeout: 100 }) + await vi.advanceTimersByTimeAsync(1) + expect(cleanup).toHaveBeenCalledWith("first") view.unmount() - await waitFor(() => expect(cleanup).toHaveBeenCalledWith("second"), { timeout: 100 }) + await vi.advanceTimersByTimeAsync(20) + expect(cleanup).toHaveBeenCalledWith("second") + vi.useRealTimers() await Effect.runPromise(runtime.runtime.disposeEffect) }) diff --git a/packages/effect-view/src/Component.test.tsx b/packages/effect-view/src/Component.test.tsx index 69d0063..27f344c 100644 --- a/packages/effect-view/src/Component.test.tsx +++ b/packages/effect-view/src/Component.test.tsx @@ -277,6 +277,7 @@ describe("Component", () => { ) await screen.findByText("first") + vi.useFakeTimers() view.rerender( @@ -284,16 +285,19 @@ describe("Component", () => { ) - await screen.findByText("second") + expect(screen.getByText("second")).toBeTruthy() expect(cleanup).not.toHaveBeenCalled() - await new Promise(resolve => setTimeout(resolve, 5)) + await vi.advanceTimersByTimeAsync(19) expect(cleanup).not.toHaveBeenCalled() - await waitFor(() => expect(cleanup).toHaveBeenCalledWith("first"), { timeout: 100 }) + await vi.advanceTimersByTimeAsync(1) + expect(cleanup).toHaveBeenCalledWith("first") view.unmount() - await waitFor(() => expect(cleanup).toHaveBeenCalledWith("second"), { timeout: 100 }) + await vi.advanceTimersByTimeAsync(20) + expect(cleanup).toHaveBeenCalledWith("second") + vi.useRealTimers() await runtime.runtime.dispose() })