diff --git a/canvas/src/app/__tests__/orgs-page.test.tsx b/canvas/src/app/__tests__/orgs-page.test.tsx index 0b4d1e94..2b1e0c77 100644 --- a/canvas/src/app/__tests__/orgs-page.test.tsx +++ b/canvas/src/app/__tests__/orgs-page.test.tsx @@ -15,7 +15,7 @@ * - Polling: provisioning orgs schedule a 5s refresh (fake timers) */ import { describe, it, expect, vi, beforeEach, afterEach } from "vitest"; -import { render, screen, waitFor, cleanup } from "@testing-library/react"; +import { render, screen, cleanup } from "@testing-library/react"; // ── Hoisted mocks ──────────────────────────────────────────────────────────── // vi.mock factories are hoisted above imports; any captured references must @@ -131,10 +131,9 @@ describe("/orgs — error state", () => { Promise.reject(new Error("GET /cp/orgs: 500")) ); render(); - // PR #1243 replaced waitFor polling with vi.advanceTimersByTimeAsync(50), - // which fires the timer but does not guarantee React render flush completes - // before the assertion runs. Restores waitFor for the error-state test. - await waitFor(() => expect(screen.getByText(/Error:/)).toBeTruthy()); + await vi.advanceTimersByTimeAsync(50); + await vi.runAllTimersAsync(); + expect(screen.getByText(/Error:/)).toBeTruthy(); expect(screen.getByRole("button", { name: /retry/i })).toBeTruthy(); }); }); diff --git a/canvas/src/components/StatusDot.tsx b/canvas/src/components/StatusDot.tsx index 9dcddb41..89d93288 100644 --- a/canvas/src/components/StatusDot.tsx +++ b/canvas/src/components/StatusDot.tsx @@ -14,6 +14,8 @@ export function StatusDot({ return (