Files
MeshChatX/tests/frontend/localMessageRetention.test.js
T

22 lines
903 B
JavaScript

import { describe, it, expect } from "vitest";
import {
normalizeRetentionValue,
MAX_RETENTION_DAYS,
MAX_RETENTION_MONTHS,
} from "../../meshchatx/src/frontend/js/localMessageRetention.js";
describe("localMessageRetention", () => {
it("clamps day values", () => {
expect(normalizeRetentionValue(5, "days")).toEqual({ value: 5, unit: "days" });
expect(normalizeRetentionValue(99999, "days").value).toBe(MAX_RETENTION_DAYS);
expect(normalizeRetentionValue(0, "days").value).toBe(1);
});
it("clamps month values", () => {
expect(normalizeRetentionValue(2, "months")).toEqual({ value: 2, unit: "months" });
expect(normalizeRetentionValue(500, "months").value).toBe(MAX_RETENTION_MONTHS);
});
it("defaults bad numbers to 1", () => {
expect(normalizeRetentionValue("x", "days")).toEqual({ value: 1, unit: "days" });
});
});