import { parseIranLocalDateTime } from "./iran-datetime"; describe("parseIranLocalDateTime", () => { it("parses YYYY-MM-DD + HH:MM as Iran local (not server local)", () => { const instant = parseIranLocalDateTime("2025-05-16", "18:28"); expect(instant).not.toBeNull(); // 18:28 Iran = 14:58 UTC expect(instant!.toISOString()).toBe("2025-05-16T14:58:00.000Z"); }); it("parses naive ISO datetime as Iran local", () => { const instant = parseIranLocalDateTime("2025-05-16T18:28"); expect(instant!.toISOString()).toBe("2025-05-16T14:58:00.000Z"); }); it("respects explicit UTC offset in string", () => { const instant = parseIranLocalDateTime("2025-05-16T14:58:00.000Z"); expect(instant!.toISOString()).toBe("2025-05-16T14:58:00.000Z"); }); it("combines Date calendar day in Iran with accidentTime", () => { const dateOnly = new Date("2025-05-16T00:00:00.000Z"); const instant = parseIranLocalDateTime(dateOnly, "18:28"); expect(instant!.toISOString()).toBe("2025-05-16T14:58:00.000Z"); }); });