diff --git a/packages/effect-fc-next/src/Component.test.tsx b/packages/effect-fc-next/src/Component.test.tsx index b15d3ef..69d0063 100644 --- a/packages/effect-fc-next/src/Component.test.tsx +++ b/packages/effect-fc-next/src/Component.test.tsx @@ -312,7 +312,7 @@ describe("Component", () => { yield* Effect.addFinalizer(() => Effect.sync(() => unmounts())) })) - return + return }).pipe( Component.withOptions({ nonReactiveTags: [...Component.defaultOptions.nonReactiveTags, ValueService], diff --git a/packages/effect-fc-next/src/Lens.test.tsx b/packages/effect-fc-next/src/Lens.test.tsx index 82e161d..c59c686 100644 --- a/packages/effect-fc-next/src/Lens.test.tsx +++ b/packages/effect-fc-next/src/Lens.test.tsx @@ -18,6 +18,12 @@ const makeRuntime = async () => { } } +const expectDefined = (value: A | undefined): A => { + if (value === undefined) + throw new Error("Expected value to be defined") + return value +} + describe("Lens", () => { it("useState stays in sync with lens updates in both directions", async () => { const { runtime, effectRuntime, dispose } = await makeRuntime() @@ -30,7 +36,7 @@ describe("Lens", () => { return ( <>
{value}
- + ) }).pipe( @@ -102,7 +108,7 @@ describe("Lens", () => { lens = reactLens })) - return + return }).pipe( Component.withContext(runtime.context) ) @@ -118,7 +124,7 @@ describe("Lens", () => { fireEvent.click(screen.getByRole("button", { name: "hello" })) await screen.findByText("hello!") - await waitFor(async () => expect(await Effect.runPromise(Lens.get(lens!))).toBe("hello!")) + await waitFor(async () => expect(await Effect.runPromise(Lens.get(expectDefined(lens)))).toBe("hello!")) view.unmount() await dispose() @@ -152,11 +158,11 @@ describe("Lens", () => { await screen.findByText("first") await waitFor(() => expect(lens).toBeDefined()) - await Effect.runPromise(Lens.set(lens!, { id: 1, label: "ignored" })) + await Effect.runPromise(Lens.set(expectDefined(lens), { id: 1, label: "ignored" })) await waitFor(() => expect(screen.getByText("first")).toBeTruthy()) expect(screen.queryByText("ignored")).toBeNull() - await Effect.runPromise(Lens.set(lens!, { id: 2, label: "updated" })) + await Effect.runPromise(Lens.set(expectDefined(lens), { id: 2, label: "updated" })) await screen.findByText("updated") view.unmount() diff --git a/packages/effect-fc/src/Lens.test.tsx b/packages/effect-fc/src/Lens.test.tsx index e6ce6bb..e3cff38 100644 --- a/packages/effect-fc/src/Lens.test.tsx +++ b/packages/effect-fc/src/Lens.test.tsx @@ -18,6 +18,12 @@ const makeRuntime = async () => { } } +const expectDefined = (value: A | undefined): A => { + if (value === undefined) + throw new Error("Expected value to be defined") + return value +} + describe("Lens", () => { it("useState stays in sync with lens updates in both directions", async () => { const { runtime, effectRuntime, dispose } = await makeRuntime() @@ -30,7 +36,7 @@ describe("Lens", () => { return ( <>
{value}
- + ) }).pipe( @@ -102,7 +108,7 @@ describe("Lens", () => { lens = reactLens })) - return + return }).pipe( Component.withRuntime(runtime.context) ) @@ -118,7 +124,7 @@ describe("Lens", () => { fireEvent.click(screen.getByRole("button", { name: "hello" })) await screen.findByText("hello!") - await waitFor(async () => expect(await Effect.runPromise(Lens.get(lens!))).toBe("hello!")) + await waitFor(async () => expect(await Effect.runPromise(Lens.get(expectDefined(lens)))).toBe("hello!")) view.unmount() await dispose() @@ -152,11 +158,11 @@ describe("Lens", () => { await screen.findByText("first") await waitFor(() => expect(lens).toBeDefined()) - await Effect.runPromise(Lens.set(lens!, { id: 1, label: "ignored" })) + await Effect.runPromise(Lens.set(expectDefined(lens), { id: 1, label: "ignored" })) await waitFor(() => expect(screen.getByText("first")).toBeTruthy()) expect(screen.queryByText("ignored")).toBeNull() - await Effect.runPromise(Lens.set(lens!, { id: 2, label: "updated" })) + await Effect.runPromise(Lens.set(expectDefined(lens), { id: 2, label: "updated" })) await screen.findByText("updated") view.unmount()