import { describe, expect, it } from "vitest"; import { describeSchedule, formatUsd, INTERVAL_PRESETS, planPath, scheduleStreamPath } from "./labels.ts"; describe("计划页标签", () => { it("planPath:节锚点与 ?job= 高亮", () => { expect(planPath()).toBe("/console/schedules"); expect(planPath({ section: "auto" })).toBe("/console/schedules#auto"); expect(planPath({ section: "checks", job: "check.pending" })).toBe("/console/schedules?job=check.pending#checks"); }); it("运行记录跳任务页按定时任务筛选", () => { expect(scheduleStreamPath("trash.purge")).toBe("/console/tasks?tab=all&kind=schedule&ref=trash.purge"); }); it("formatUsd:小额保留 4 位", () => { expect(formatUsd(undefined)).toBe("—"); expect(formatUsd(0)).toBe("$0"); expect(formatUsd(0.0031258)).toBe("$0.0031"); expect(formatUsd(1.234)).toBe("$1.23"); }); it("间隔选项按天、小时、分钟、秒说", () => { expect(INTERVAL_PRESETS.map((ms) => describeSchedule({ type: "interval", everyMs: ms }))).toEqual([ "每 30 秒", "每 1 分钟", "每 5 分钟", "每 10 分钟", "每 30 分钟", "每 1 小时", "每 6 小时", "每 12 小时", "每 1 天", "每 7 天", ]); }); });