import { describe, expect, it } from "vitest"; import { isoDate, lastNDays, mondaySundayWeek } from "./dates"; describe("dates", () => { it("formats local dates as YYYY-MM-DD", () => { expect(isoDate(new Date(2026, 6, 18))).toBe("2026-07-18"); expect(isoDate(new Date(2026, 0, 5))).toBe("2026-01-05"); }); it("returns last 7 calendar days oldest first", () => { const days = lastNDays(new Date(2026, 6, 18), 7); expect(days).toHaveLength(7); expect(days[0]).toBe("2026-07-12"); expect(days[6]).toBe("2026-07-18"); }); it("crosses month boundaries", () => { const days = lastNDays(new Date(2026, 6, 2), 7); expect(days[0]).toBe("2026-06-26"); expect(days[6]).toBe("2026-07-02"); }); it("returns local Monday–Sunday week", () => { // Saturday 18 Jul 2026 → Mon 13 … Sun 19 const days = mondaySundayWeek(new Date(2026, 6, 18)); expect(days).toEqual([ "2026-07-13", "2026-07-14", "2026-07-15", "2026-07-16", "2026-07-17", "2026-07-18", "2026-07-19", ]); }); });