diff --git a/web/src/SpawnView.test.tsx b/web/src/SpawnView.test.tsx index 16c2bef..3b8e6ac 100644 --- a/web/src/SpawnView.test.tsx +++ b/web/src/SpawnView.test.tsx @@ -2,7 +2,6 @@ import { act, fireEvent, render, screen } from "@testing-library/react"; import { MemoryRouter, Route, Routes } from "react-router-dom"; import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; import type { Repo } from "./protocol"; -import { ApiError } from "./api"; import SpawnView from "./SpawnView"; import type { SessionsStore } from "./store"; import { jsonResponse, mockFetchJson, seedSettings } from "./test/setup"; @@ -189,20 +188,20 @@ describe("SpawnView repo picker", () => { }); it("shows loading repos while the list is pending", async () => { - let resolveRepos: ((v: unknown) => void) | null = null; + const gate = { resolve: null as ((v: unknown) => void) | null }; mockFetchJson((url) => { if (url.endsWith("/api/gitlab/status")) return { connected: true, baseUrl: "https://gl", username: "alice" }; if (url.endsWith("/api/gitlab/repos")) return new Promise((res) => { - resolveRepos = res; + gate.resolve = res; }); return []; }); render(tree(makeStore())); await flush(); expect(screen.getByText("loading repos…")).toBeInTheDocument(); - resolveRepos?.([repo("g/late")]); + gate.resolve?.([repo("g/late")]); await flush(); expect(await screen.findByText("g/late")).toBeInTheDocument(); }); @@ -297,7 +296,7 @@ describe("SpawnView spawn+poll", () => { }); const store = makeStore({ spawnJobs: [ - { sessionId: "sx", repo: "g/p", state: "cloning", containerId: "", message: "" }, + { sessionId: "sx", repo: "g/p", state: "cloning", containerId: "" }, ], }); render(tree(store));