import { fireEvent, render, screen } from "@testing-library/react"; import { ApiError } from "@/lib/api"; import InlineError from "./InlineError"; test("no retry button without onRetry", () => { render(); expect(screen.getByRole("alert").textContent).toBe("already exists"); expect(screen.queryByRole("button", { name: "Retry" })).toBeNull(); }); test("onRetry renders a focusable retry button that calls back", () => { const onRetry = vi.fn(); render(); const button = screen.getByRole("button", { name: "Retry" }); expect(button.className).toContain("focus-visible:outline-2"); fireEvent.click(button); expect(onRetry).toHaveBeenCalledTimes(1); }); test("a null error renders nothing even with onRetry", () => { const { container } = render( undefined} />); expect(container.innerHTML).toBe(""); });