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.
34 lines
1.3 KiB
34 lines
1.3 KiB
import { describe, expect, it } from "vitest";
|
|
import {
|
|
isMothershipWeekendIso,
|
|
isMothershipWeightEachAllowed,
|
|
normalizeMothershipReadyDateIso,
|
|
snapMothershipReadyDateToWeekday,
|
|
} from "@/lib/mothership/logged-in-constraints";
|
|
|
|
describe("mothership logged-in constraints", () => {
|
|
it("识别周末", () => {
|
|
expect(isMothershipWeekendIso("2026-07-18")).toBe(true); // Sat
|
|
expect(isMothershipWeekendIso("2026-07-19")).toBe(true); // Sun
|
|
expect(isMothershipWeekendIso("2026-07-20")).toBe(false); // Mon
|
|
});
|
|
|
|
it("周末拨到周一", () => {
|
|
expect(snapMothershipReadyDateToWeekday("2026-07-18")).toBe("2026-07-20");
|
|
expect(snapMothershipReadyDateToWeekday("2026-07-19")).toBe("2026-07-20");
|
|
expect(snapMothershipReadyDateToWeekday("2026-07-20")).toBe("2026-07-20");
|
|
});
|
|
|
|
it("单件重量 ≤5000", () => {
|
|
expect(isMothershipWeightEachAllowed(5000)).toBe(true);
|
|
expect(isMothershipWeightEachAllowed(5000.01)).toBe(false);
|
|
expect(isMothershipWeightEachAllowed(50)).toBe(true);
|
|
});
|
|
|
|
it("normalize 周末日期", () => {
|
|
expect(normalizeMothershipReadyDateIso("2026-07-19")).toBe("2026-07-20");
|
|
expect(normalizeMothershipReadyDateIso("2026-07-20")).toBe("2026-07-20");
|
|
expect(normalizeMothershipReadyDateIso(undefined)).toBeUndefined();
|
|
});
|
|
});
|