mirror of
https://github.com/prowler-cloud/prowler.git
synced 2026-07-04 19:21:51 +00:00
bf1b53bbd2
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: alejandrobailo <alejandrobailo94@gmail.com>
36 lines
1.3 KiB
TypeScript
36 lines
1.3 KiB
TypeScript
import { format, parseISO } from "date-fns";
|
|
import { describe, expect, it } from "vitest";
|
|
|
|
import { toLocalDateString } from "./date-utils";
|
|
|
|
describe("toLocalDateString", () => {
|
|
it("returns undefined for nullish or empty input", () => {
|
|
expect(toLocalDateString(undefined)).toBeUndefined();
|
|
expect(toLocalDateString(null)).toBeUndefined();
|
|
expect(toLocalDateString("")).toBeUndefined();
|
|
});
|
|
|
|
it("returns undefined for malformed strings", () => {
|
|
expect(toLocalDateString("not-a-date")).toBeUndefined();
|
|
});
|
|
|
|
it("returns undefined for invalid Date instances", () => {
|
|
expect(toLocalDateString(new Date("not-a-date"))).toBeUndefined();
|
|
});
|
|
|
|
it("formats an ISO string in the user's local timezone", () => {
|
|
// Near UTC midnight — the UTC split ("2026-04-19") differs from the local
|
|
// date for any tz with a positive offset. We pin parity with date-fns so
|
|
// the assertion holds regardless of where CI runs.
|
|
const iso = "2026-04-19T23:15:00Z";
|
|
const expected = format(parseISO(iso), "yyyy-MM-dd");
|
|
|
|
expect(toLocalDateString(iso)).toBe(expected);
|
|
});
|
|
|
|
it("formats a Date instance using its local calendar day", () => {
|
|
const date = new Date(2026, 3, 20, 10, 0, 0); // April 20, 2026 local
|
|
expect(toLocalDateString(date)).toBe("2026-04-20");
|
|
});
|
|
});
|