You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
74 lines
2.0 KiB
74 lines
2.0 KiB
import { describe, expect, it } from "vitest";
|
|
import { resolveNoSpreadsheetOutcome } from "@/services/parse/pipeline";
|
|
|
|
describe("resolveNoSpreadsheetOutcome", () => {
|
|
it("M4-like INSTRUCTION_LABEL + pdf → PARSED / null", () => {
|
|
expect(
|
|
resolveNoSpreadsheetOutcome({
|
|
mailType: "INSTRUCTION_LABEL",
|
|
hasAttachments: true,
|
|
}),
|
|
).toEqual({ status: "PARSED", lastError: null });
|
|
});
|
|
|
|
it("INSTRUCTION_HOLD_SPLIT without table → PARSED / null", () => {
|
|
expect(
|
|
resolveNoSpreadsheetOutcome({
|
|
mailType: "INSTRUCTION_HOLD_SPLIT",
|
|
hasAttachments: true,
|
|
}),
|
|
).toEqual({ status: "PARSED", lastError: null });
|
|
});
|
|
|
|
it("NEW_CONTAINER + unsupported att → PARSE_FAILED / NO_SUPPORTED_SPREADSHEET", () => {
|
|
expect(
|
|
resolveNoSpreadsheetOutcome({
|
|
mailType: "NEW_CONTAINER",
|
|
hasAttachments: true,
|
|
}),
|
|
).toEqual({
|
|
status: "PARSE_FAILED",
|
|
lastError: "NO_SUPPORTED_SPREADSHEET",
|
|
});
|
|
});
|
|
|
|
it("NEW_CONTAINER + no att → REJECTED_VALIDATION / NO_SHIPMENT_ROWS", () => {
|
|
expect(
|
|
resolveNoSpreadsheetOutcome({
|
|
mailType: "NEW_CONTAINER",
|
|
hasAttachments: false,
|
|
}),
|
|
).toEqual({
|
|
status: "REJECTED_VALIDATION",
|
|
lastError: "NO_SHIPMENT_ROWS",
|
|
});
|
|
});
|
|
|
|
it("TRANSFER + no att → PARSED / null", () => {
|
|
expect(
|
|
resolveNoSpreadsheetOutcome({
|
|
mailType: "TRANSFER",
|
|
hasAttachments: false,
|
|
}),
|
|
).toEqual({ status: "PARSED", lastError: null });
|
|
});
|
|
|
|
it("WORK_ORDER + no att → PARSED / null", () => {
|
|
expect(
|
|
resolveNoSpreadsheetOutcome({
|
|
mailType: "WORK_ORDER",
|
|
hasAttachments: false,
|
|
}),
|
|
).toEqual({ status: "PARSED", lastError: null });
|
|
});
|
|
|
|
it("DO_UPLOAD + DO pdf → PARSED / null", () => {
|
|
expect(
|
|
resolveNoSpreadsheetOutcome({
|
|
mailType: "DO_UPLOAD",
|
|
hasAttachments: true,
|
|
}),
|
|
).toEqual({ status: "PARSED", lastError: null });
|
|
});
|
|
});
|