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.

52 lines
1.4 KiB

import { describe, expect, it } from "vitest";
import { resolveDoUploadTaskId } from "@/services/import/confirm-do-upload";
describe("resolveDoUploadTaskId", () => {
it("uses CC list hit for the same container no", () => {
const r = resolveDoUploadTaskId({
containerNo: "TRHU8524770",
listItems: [
{
F_ContainerNo: "TRHU8524770",
F_ContainerTaskId: "task-real",
},
],
});
expect(r).toEqual({ ok: true, taskId: "task-real" });
});
it("rejects empty list even if import id is mock-task", () => {
const r = resolveDoUploadTaskId({
containerNo: "TRHU8524770",
importExternalId: "mock-task-TRHU8524770",
listItems: [],
});
expect(r).toEqual({ ok: false });
});
it("does not attach DO to a different container in the list", () => {
const r = resolveDoUploadTaskId({
containerNo: "TRHU8524770",
listItems: [
{
F_ContainerNo: "WHSU8127240",
F_ContainerTaskId: "other-task",
},
],
});
expect(r).toEqual({ ok: false });
});
it("falls back to prior SaveContainer id when list is empty", () => {
const r = resolveDoUploadTaskId({
containerNo: "TRHU8524770",
importExternalId: "428aca68-9baa-491c-b1ed-e45a5440fb91",
listItems: [],
});
expect(r).toEqual({
ok: true,
taskId: "428aca68-9baa-491c-b1ed-e45a5440fb91",
});
});
});