import { fireEvent, render, screen } from "@testing-library/react"; import { describe, expect, it, vi } from "vitest"; import { CapacityRiskBanner } from "../CapacityRiskBanner"; describe("CapacityRiskBanner", () => { it("renders nothing when signal is null", () => { const { container } = render(); expect(container.firstChild).toBeNull(); }); it("renders nothing when signal is not at risk", () => { const { container } = render( , ); expect(container.firstChild).toBeNull(); }); it("renders counts and threshold when at risk", () => { render( , ); expect(screen.getByText(/Todo 21/)).toBeInTheDocument(); expect(screen.getByText(/threshold 20/)).toBeInTheDocument(); expect(screen.getByText(/In Progress 3/)).toBeInTheDocument(); expect(screen.getByText(/In Review 2/)).toBeInTheDocument(); expect(screen.getByText(/Idle agents 0/)).toBeInTheDocument(); }); it("calls onDismiss when dismiss button is clicked", () => { const onDismiss = vi.fn(); render( , ); fireEvent.click(screen.getByRole("button", { name: /dismiss capacity warning/i })); expect(onDismiss).toHaveBeenCalledTimes(1); }); });