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