import { ProviderDriverKind, ProviderInstanceId, type ServerProvider } from "@t3tools/contracts"; import { renderToStaticMarkup } from "react-dom/server"; import { describe, expect, it } from "vite-plus/test"; import { getProviderStatusBannerKey, ProviderStatusBanner, shouldShowProviderStatusBanner, } from "./ProviderStatusBanner"; function warningProvider(): ServerProvider { return { instanceId: ProviderInstanceId.make("codex"), driver: ProviderDriverKind.make("codex"), displayName: "Codex", enabled: true, installed: true, version: "1.0.0", status: "warning", auth: { status: "authenticated" }, checkedAt: "2026-07-23T12:00:00.000Z", message: "Provider is temporarily degraded.", models: [], slashCommands: [], skills: [], }; } describe("ProviderStatusBanner", () => { it("stays hidden after its current warning is dismissed", () => { const status = warningProvider(); expect(shouldShowProviderStatusBanner(status, null)).toBe(true); expect(shouldShowProviderStatusBanner(status, getProviderStatusBannerKey(status))).toBe(false); }); it("renders an accessible dismiss control for provider warnings", () => { const markup = renderToStaticMarkup( {}} />, ); expect(markup).toContain('role="alert"'); expect(markup).toContain('aria-label="Dismiss Codex provider warning"'); expect(markup).toContain("absolute top-2 right-2"); }); it("renders on a glass surface so the timeline never reads through the banner", () => { const markup = renderToStaticMarkup( {}} />, ); expect(markup).toContain("alert-glass"); expect(markup).toContain('data-variant="warning"'); }); it("labels error dismiss controls with the correct severity", () => { const markup = renderToStaticMarkup( {}} />, ); expect(markup).toContain('aria-label="Dismiss Codex provider error"'); }); });