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.
75 lines
1.8 KiB
75 lines
1.8 KiB
import { describe, expect, it } from "vitest";
|
|
import {
|
|
MS_CARGO_TYPES,
|
|
MS_DEFAULT_READY_TIME,
|
|
MS_DELIVERY_ACCESSORIALS,
|
|
MS_PICKUP_ACCESSORIALS,
|
|
MS_READY_TIMES,
|
|
} from "@/components/mothership/mothership-logged-in-shipment-form";
|
|
|
|
describe("mothership logged-in shipment form constants", () => {
|
|
it("提货附加服务含官网录制项", () => {
|
|
const ids = MS_PICKUP_ACCESSORIALS.map((x) => x.id);
|
|
expect(ids).toEqual(
|
|
expect.arrayContaining([
|
|
"cfs",
|
|
"liftgate",
|
|
"limitedAccess",
|
|
"inside",
|
|
"residential",
|
|
"tradeshow",
|
|
]),
|
|
);
|
|
});
|
|
|
|
it("送货附加服务含 Amazon 预约等录制项", () => {
|
|
const ids = MS_DELIVERY_ACCESSORIALS.map((x) => x.id);
|
|
expect(ids).toEqual(
|
|
expect.arrayContaining([
|
|
"fbaAppointment",
|
|
"appointment",
|
|
"cfs",
|
|
"liftgate",
|
|
"limitedAccess",
|
|
"inside",
|
|
"residential",
|
|
"tradeshow",
|
|
]),
|
|
);
|
|
});
|
|
|
|
it("货物类型对齐官网完整列表", () => {
|
|
expect(MS_CARGO_TYPES.map((x) => x.id)).toEqual([
|
|
"pallet",
|
|
"box",
|
|
"crate",
|
|
"piece",
|
|
"bale",
|
|
"bucket",
|
|
"carton",
|
|
"case",
|
|
"coil",
|
|
"cylinder",
|
|
"drum",
|
|
"pail",
|
|
"reel",
|
|
"roll",
|
|
"skid",
|
|
"tote",
|
|
"tube",
|
|
]);
|
|
});
|
|
|
|
it("可提货时刻为 24 个整点且有序无重复", () => {
|
|
expect(MS_READY_TIMES).toHaveLength(24);
|
|
expect(new Set(MS_READY_TIMES).size).toBe(24);
|
|
expect(MS_READY_TIMES[0]).toBe("12:00 AM");
|
|
expect(MS_READY_TIMES[11]).toBe("11:00 AM");
|
|
expect(MS_READY_TIMES[12]).toBe("12:00 PM");
|
|
expect(MS_READY_TIMES[15]).toBe("3:00 PM");
|
|
expect(MS_READY_TIMES[23]).toBe("11:00 PM");
|
|
expect(MS_DEFAULT_READY_TIME).toBe("11:00 AM");
|
|
expect(MS_READY_TIMES).toContain(MS_DEFAULT_READY_TIME);
|
|
});
|
|
});
|