paperclip/packages/shared/src/validators/status-card.test.ts

25 lines
930 B
TypeScript

import { describe, expect, it } from "vitest";
import { statusCardRefreshPolicySchema } from "./status-card.js";
describe("statusCardRefreshPolicySchema", () => {
it("accepts valid IANA timezones", () => {
expect(statusCardRefreshPolicySchema.parse({
mode: "interval",
intervalMinutes: 15,
activeHours: { start: "09:00", end: "17:00", timezone: "America/New_York" },
}).activeHours?.timezone).toBe("America/New_York");
});
it("rejects invalid timezone identifiers", () => {
const result = statusCardRefreshPolicySchema.safeParse({
mode: "interval",
intervalMinutes: 15,
activeHours: { start: "09:00", end: "17:00", timezone: "Not/A_Timezone" },
});
expect(result.success).toBe(false);
if (!result.success) {
expect(result.error.issues).toEqual(expect.arrayContaining([expect.objectContaining({ message: "Invalid timezone identifier" })]));
}
});
});