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("");
});