import { fireEvent, screen } from "@testing-library/react"; import { describe, expect, it, vi } from "vitest"; import { WoTableRowCells } from "@/app/(protected)/workorders/_components/list/table/wo-table-row-cells"; import type { WoTableRowHandlers } from "@/app/(protected)/workorders/_components/list/table/wo-table-row"; import type { WorkOrderTablePatch, WorkOrderTableRow, } from "@/domain/work-orders/types/work-order-table-row"; import { applySchedulePatch } from "@/domain/work-orders/use-cases/use-work-order-table-mutations"; import { mergeAutoSchedulePatch } from "@/domain/work-orders/utils/wo-lifecycle-transitions"; import { renderWithProviders } from "@/test/test-utils"; vi.mock("@/app/(protected)/workorders/_components/list/table/cells/site-cell", () => ({ SiteCell: () => null, })); vi.mock( "@/app/(protected)/workorders/_components/list/table/cells/editable-wo-number-cell", () => ({ EditableWONumberCell: () => null, }), ); vi.mock("@/app/(protected)/workorders/_components/list/table/cells/type-cell", () => ({ TypeCell: () => null, })); vi.mock("@/app/(protected)/workorders/_components/list/table/cells/assigned-to-cell", () => ({ AssignedToCell: () => null, })); vi.mock("@/app/(protected)/workorders/_components/list/table/cells/date-cell", () => ({ DateCell: ({ onClear }: { onClear?: () => void }) => { if (!onClear) return null; return ( ); }, })); vi.mock("@/app/(protected)/workorders/_components/list/table/cells/due-date-cell", () => ({ DueDateCell: () => null, })); function renderScheduledRow( row: WorkOrderTableRow, onPersist: (id: string | number, patch: WorkOrderTablePatch) => void, viewOnly = false, ) { const handlers = { onScheduleWeek: (id: string | number, week: string) => { onPersist(id, mergeAutoSchedulePatch(row, applySchedulePatch(week, false))); }, } as unknown as WoTableRowHandlers; renderWithProviders(