Fix tests
Lint / lint (push) Failing after 39s

This commit is contained in:
Julien Valverdé
2026-07-25 23:54:24 +02:00
parent 73399c1b24
commit 2b677f8810
3 changed files with 23 additions and 11 deletions
+11 -5
View File
@@ -18,6 +18,12 @@ const makeRuntime = async () => {
}
}
const expectDefined = <A,>(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 (
<>
<div>{value}</div>
<button onClick={() => setValue(previous => previous + 1)}>increment</button>
<button type="button" onClick={() => setValue(previous => previous + 1)}>increment</button>
</>
)
}).pipe(
@@ -102,7 +108,7 @@ describe("Lens", () => {
lens = reactLens
}))
return <button onClick={() => setValue(previous => `${previous}!`)}>{value}</button>
return <button type="button" onClick={() => setValue(previous => `${previous}!`)}>{value}</button>
}).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()