import { fireEvent, screen } from "@testing-library/react"; import { describe, expect, it, vi } from "vitest"; import { PMTypeCell } from "@/app/(protected)/workorders/_components/list/table/cells/pm-type-cell"; import { ServiceNotesDialog } from "@/app/(protected)/workorders/_components/list/table/cells/service-notes-dialog"; import { renderWithProviders } from "@/test/test-utils"; describe("Aveta Service & Notes", () => { it("shows the Aveta shield on the Service cell when required", () => { renderWithProviders( , ); expect(screen.getByLabelText("Aveta required")).toBeInTheDocument(); }); it("shows the green Aveta shield when the document is attached", () => { renderWithProviders( , ); expect(screen.getByLabelText("Aveta attached")).toBeInTheDocument(); }); it("persists avetaRequired from Service & Notes", () => { const onSave = vi.fn(); renderWithProviders( , ); fireEvent.click(screen.getByRole("checkbox", { name: /Requires Aveta documentation/i })); fireEvent.click(screen.getByRole("button", { name: "Save" })); expect(onSave).toHaveBeenCalledWith( expect.objectContaining({ pm: "HVAC", avetaRequired: true, }), ); }); });