Files
cfw-autumn/server/tests/unit/analytics/cloudflare-date-range.test.ts

39 lines
1003 B
TypeScript

import { describe, expect, test } from "bun:test";
import {
isRangeInsideHotRetention,
resolveHotRangeDecision,
} from "@/internal/analytics/cloudflare/dateRange.js";
const now = new Date("2026-06-22T00:00:00.000Z");
describe("Cloudflare analytics hot retention range", () => {
test("accepts ranges fully inside 90 days", () => {
expect(
isRangeInsideHotRetention({
startMs: Date.parse("2026-04-01T00:00:00.000Z"),
endMs: Date.parse("2026-06-20T00:00:00.000Z"),
now,
retentionDays: 90,
}),
).toBe(true);
});
test("rejects ranges older than 90 days", () => {
expect(
isRangeInsideHotRetention({
startMs: Date.parse("2026-02-01T00:00:00.000Z"),
endMs: Date.parse("2026-06-20T00:00:00.000Z"),
now,
retentionDays: 90,
}),
).toBe(false);
});
test("resolves missing custom range as hot query", () => {
expect(resolveHotRangeDecision({ now, retentionDays: 90 })).toEqual({
canUseHotStore: true,
reason: "default-hot-range",
});
});
});