From 60460aebd73814da77f6edc406c19e40fb841328 Mon Sep 17 00:00:00 2001 From: Raphael Westphal Date: Tue, 18 Aug 2026 17:57:35 +0200 Subject: [PATCH] =?UTF-8?q?web:=20sessions=20list=20shows=20active=20pi=20?= =?UTF-8?q?only;=20close-pi=20button=20in=20chat=20header;=20154=20tests,?= =?UTF-8?q?=20=E2=89=A595%=20coverage?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/src/SpawnView.test.tsx | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) 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));