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.
48 lines
1.6 KiB
48 lines
1.6 KiB
import { describe, expect, it } from "vitest";
|
|
import { resolveWorkOrderPanelKind } from "@/services/cc/work-order-panel";
|
|
|
|
describe("resolveWorkOrderPanelKind", () => {
|
|
it("贴标/拍照/拆柜清单 → 客户留言(两端)", () => {
|
|
for (const mode of ["admin", "client"] as const) {
|
|
expect(
|
|
resolveWorkOrderPanelKind(mode, ["贴标", "拍照"], "拆柜清单 派送要求"),
|
|
).toBe("message");
|
|
expect(
|
|
resolveWorkOrderPanelKind(
|
|
mode,
|
|
["贴标"],
|
|
"主题 拦截-209件 FedEx-29件\nDear 请贴标",
|
|
),
|
|
).toBe("message");
|
|
}
|
|
});
|
|
|
|
it("主题渠道「拦截-N件」alone 不触发转渠道", () => {
|
|
expect(
|
|
resolveWorkOrderPanelKind("admin", [], "拦截-209件 卡派-10件"),
|
|
).toBe("message");
|
|
});
|
|
|
|
it("admin: 显式留仓/转渠道/拆分", () => {
|
|
expect(resolveWorkOrderPanelKind("admin", ["留仓"], "")).toBe("hold");
|
|
expect(resolveWorkOrderPanelKind("admin", [], "请转渠道为留仓")).toBe(
|
|
"hold",
|
|
);
|
|
expect(resolveWorkOrderPanelKind("admin", ["拆分"], "")).toBe("split");
|
|
expect(resolveWorkOrderPanelKind("admin", [], "数量拆分 5 件")).toBe(
|
|
"split",
|
|
);
|
|
// 拆柜清单 ≠ 拆分
|
|
expect(resolveWorkOrderPanelKind("admin", [], "拆柜清单")).toBe("message");
|
|
});
|
|
|
|
it("client: 出库指令", () => {
|
|
expect(resolveWorkOrderPanelKind("client", [], "请出库指令")).toBe(
|
|
"outstock",
|
|
);
|
|
expect(resolveWorkOrderPanelKind("client", ["贴标"], "换标")).toBe(
|
|
"message",
|
|
);
|
|
});
|
|
});
|