From 88d2ed8ecbb8b0fca5bf60d70a04b31fffa54746 Mon Sep 17 00:00:00 2001 From: "paseo-bot[bot]" <266920839+paseo-bot[bot]@users.noreply.github.com> Date: Wed, 28 Oct 2026 03:36:09 +0000 Subject: [PATCH] test(server): wait for Git observation before completing fetch The structural fallback test advanced its debounce timer before asynchronous watcher setup and fetch completion. Wait for those stages so slow filesystem setup does not turn the intended refresh assertion into a scheduling race. --- .../src/server/workspace-git-service.test.ts | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/packages/server/src/server/workspace-git-service.test.ts b/packages/server/src/server/workspace-git-service.test.ts index 4b0b13b7a2..1d4d365d95 100644 --- a/packages/server/src/server/workspace-git-service.test.ts +++ b/packages/server/src/server/workspace-git-service.test.ts @@ -1105,12 +1105,23 @@ describe("WorkspaceGitServiceImpl", () => { { cwd: join(REPO_CWD, "packages", "server") }, vi.fn(), ); - await vi.waitFor(() => { - expect(getCheckoutSnapshotFacts).toHaveBeenCalledTimes(2); - }); + await vi.waitFor( + () => { + expect(getCheckoutSnapshotFacts).toHaveBeenCalledTimes(2); + expect(service.getMetrics()).toMatchObject({ + repositoryWorkspaceLinkCount: 2, + workspaceObservationSetupInFlightCount: 0, + workspaceRefreshInFlightCount: 0, + fetchInFlightCount: 1, + }); + }, + { timeout: 10_000 }, + ); releaseFetch.resolve(); - await flushPromises(); + await vi.waitFor(() => { + expect(service.getMetrics().fetchInFlightCount).toBe(0); + }); await vi.advanceTimersByTimeAsync(1_000); await vi.waitFor(() => { expect(getCheckoutSnapshotFacts).toHaveBeenCalledTimes(4);