import { resolve } from "node:path";
import { describe, expect, it, vi } from "vitest";
import { fireEvent, render } from "@testing-library/preact";
import { snapshotFixtures } from "../../test/snapshot.js";
import { snapshotStylesheet } from "../../test/stylesheet.js";
import { ResultsPanel } from "./ResultsPanel.js";
import { fixtures } from "./ResultsPanel.fixtures.js";
snapshotFixtures(ResultsPanel, fixtures);
describe("ResultsPanel", () => {
it("offers a retry only in the error state, and reports it", () => {
const onRetry = vi.fn();
const { getByRole, rerender, queryByRole } = render();
fireEvent.click(getByRole("button", { name: "Retry" }));
expect(onRetry).toHaveBeenCalledTimes(1);
rerender();
expect(queryByRole("button")).toBeNull();
});
});
snapshotStylesheet(resolve(__dirname, "./ResultsPanel.css"));