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()
})