import { describe, expect, it } from "vitest"; import { buildInlineDraftCreateInput } from "@/app/(protected)/workorders/_components/list/table/build-inline-draft-create-input"; import { mapWizardDraftToBoardCreatePayload } from "@/domain/work-orders/mappers/work-order-board-mapper"; import { EMPTY_TABLE_DRAFT } from "@/domain/work-orders/types/work-order-table-row"; describe("buildInlineDraftCreateInput", () => { it("defaults type to PM and omits schedule flags when undated", () => { const draft = { ...EMPTY_TABLE_DRAFT, site: "BK5", customer: "Amazon", locationId: "9", woNumber: "25001", pocName: "Jane", pocPhone: "555-0100", scheduleWeekOnly: true, targetWeek: "", scheduledOn: "", }; const input = buildInlineDraftCreateInput(draft, [], [{ id: 9, name: "BK5 · Dallas, TX" }]); expect(input.type).toBe("PM"); expect(input.scheduleWeekOnly).toBe(false); expect(input.scheduledOn).toBe(""); expect(input.targetWeek).toBe(""); const payload = mapWizardDraftToBoardCreatePayload(input); expect(payload.scheduledDate).toBeUndefined(); expect(payload.targetWeek).toBeUndefined(); expect(payload.scheduleWeekOnly).toBeUndefined(); expect(payload.woNumber).toBe("25001"); expect(payload.pocName).toBe("Jane"); expect(payload.customer).toBe("Amazon"); expect(input.customer).toBe("Amazon"); }); it("keeps week-only schedule when targetWeek is set", () => { const draft = { ...EMPTY_TABLE_DRAFT, site: "BK5", locationId: "9", woNumber: "25002", type: "Reactive" as const, pocName: "Jane", pocPhone: "555-0100", scheduleWeekOnly: true, targetWeek: "2026-06-22", }; const input = buildInlineDraftCreateInput(draft, [], [{ id: 9, name: "BK5 · Dallas, TX" }]); const payload = mapWizardDraftToBoardCreatePayload(input); expect(payload.scheduleWeekOnly).toBe(true); expect(payload.targetWeek).toBe("2026-06-22"); expect(payload.scheduledDate).toBeUndefined(); }); });