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.
26 lines
1.0 KiB
26 lines
1.0 KiB
import { describe, expect, it } from "vitest";
|
|
import {
|
|
buildMothershipWeekdayGrid,
|
|
isMothershipDateSelectable,
|
|
} from "@/lib/mothership/weekday-date-picker";
|
|
|
|
describe("weekday-date-picker", () => {
|
|
it("周六日不可选", () => {
|
|
expect(isMothershipDateSelectable("2026-07-18", "2026-07-01")).toBe(false);
|
|
expect(isMothershipDateSelectable("2026-07-19", "2026-07-01")).toBe(false);
|
|
expect(isMothershipDateSelectable("2026-07-20", "2026-07-01")).toBe(true);
|
|
});
|
|
|
|
it("网格周末格子 disabled", () => {
|
|
const cells = buildMothershipWeekdayGrid(2026, 6, "2026-07-20", "2026-07-01");
|
|
const sat = cells.find((c) => c.inMonth && c.iso === "2026-07-18");
|
|
const sun = cells.find((c) => c.inMonth && c.iso === "2026-07-19");
|
|
const mon = cells.find((c) => c.inMonth && c.iso === "2026-07-20");
|
|
expect(sat?.disabled).toBe(true);
|
|
expect(sat?.isWeekend).toBe(true);
|
|
expect(sun?.disabled).toBe(true);
|
|
expect(mon?.disabled).toBe(false);
|
|
expect(mon?.isSelected).toBe(true);
|
|
});
|
|
});
|