shoc-frontend-new/src/test/domain/work-orders/utils/find-duplicate-wo-number-row.test.ts

20 lines
778 B
TypeScript
Raw Normal View History

feat(work-orders): duplicate WO number dialog on table and wizard (SH-189) (#90) * docs(work-orders): add pending BE contract checklist for design parity gaps * feat(work-orders): confirm dialog when duplicate wo number detected * fix(work-orders): show duplicate wo number dialog on wizard create * docs(work-orders): align pr description with jira and qa residuals * style(work-orders): prettier wizard duplicate dialog files * refactor(workorders): extract wizard state hook and list overlays * fix(work-orders): check duplicate numbers globally * fix(work-orders): exhaust fuzzy pages for exact WO number lookup Prevent accepting duplicates that fall outside the first fuzzy search page. * style(work-orders): format editable WO number cell for Prettier gate * fix(work-orders): 0-based WO search page and stale duplicate guard * fix(work-orders): sync draft WO# ref in effect for duplicate guard [SH-189] * fix(work-orders): extract WO number editor under max-lines gate Co-authored-by: Cursor <cursoragent@cursor.com> * fix(work-orders): harden duplicate WO number checks [SH-189] * fix(work-orders): sync wizard refs in effects and exhaust duplicate WO lookup Co-authored-by: Cursor <cursoragent@cursor.com> * fix(work-orders): extract hooks to satisfy max-lines governance gate Co-authored-by: Cursor <cursoragent@cursor.com> * style(work-orders): format wizard state hook for Prettier gate Co-authored-by: Cursor <cursoragent@cursor.com> * fix(work-orders): search one-character WO numbers for duplicates --------- Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-13 11:04:48 -03:00
import { describe, expect, it } from "vitest";
import { findDuplicateWoNumberRow } from "@/domain/work-orders/utils/find-duplicate-wo-number-row";
import type { WorkOrderTableRow } from "@/domain/work-orders/types/work-order-table-row";
const rows = [
{ id: "wo-1", woNumber: "12345678901" },
{ id: "wo-2", woNumber: "99999999999" },
] as WorkOrderTableRow[];
describe("findDuplicateWoNumberRow", () => {
it("returns a matching row when the wo number already exists", () => {
expect(findDuplicateWoNumberRow("12345678901", rows)).toEqual(rows[0]);
});
it("ignores blank values and excluded ids", () => {
expect(findDuplicateWoNumberRow("", rows)).toBeUndefined();
expect(findDuplicateWoNumberRow("12345678901", rows, "wo-1")).toBeUndefined();
});
});