import { render, screen } from "@testing-library/react"; import userEvent from "@testing-library/user-event"; import { ArtifactGateWidget } from "./ArtifactGateWidget"; test("renders artifact content in a pre block", () => { const onRespond = vi.fn(); render( ); expect(screen.getByText("SELECT 42")).toBeInTheDocument(); }); test("clicking an option without opens responds immediately", async () => { const onRespond = vi.fn(); render( ); await userEvent.click(screen.getByRole("button", { name: /Approva/ })); expect(onRespond).toHaveBeenCalledWith({ id: "u1", kind: "artifact-gate", choices: ["approve"] }); }); test("reserved control responds with control field", async () => { const onRespond = vi.fn(); render( ); await userEvent.click(screen.getByRole("button", { name: /indietro/i })); expect(onRespond).toHaveBeenCalledWith({ id: "u1", control: "back" }); });