Fixed timing issue with UTC

This commit is contained in:
SepehrYahyaee
2026-05-16 10:28:32 +03:30
parent e4d6246103
commit 2c851725a5
3 changed files with 114 additions and 21 deletions

View File

@@ -0,0 +1,26 @@
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");
});
});