update tests
This commit is contained in:
1 parent
b4e42bfd68
commit
f50ba1bf23
1 file changed
+24
-8
@@ -1,6 +1,7 @@
|
||||
import { describe, expect, it } from "@jest/globals";
|
||||
import { getDateForRange, NormalizeData, NormalizeDataUptimeDetails } from "../../../src/utils/dataUtils.ts";
|
||||
import { getDateForRange, getDateFormat, NormalizeData, NormalizeDataUptimeDetails } from "../../../src/utils/dataUtils.ts";
|
||||
import type { GroupedCheck } from "../../../src/domain/checks/check.type.ts";
|
||||
import { DateRanges, type DateRange } from "../../../src/types/query.ts";
|
||||
|
||||
// ── Helpers ──────────────────────────────────────────────────────────────────
|
||||
|
||||
@@ -29,20 +30,35 @@ describe("getDateForRange", () => {
|
||||
["month", 30 * 24 * 60 * 60 * 1000],
|
||||
])("returns now minus the %s window", (range, offsetMs) => {
|
||||
const before = Date.now();
|
||||
const result = getDateForRange(range as string);
|
||||
const result = getDateForRange(range as DateRange);
|
||||
const after = Date.now();
|
||||
|
||||
expect(result).toBeInstanceOf(Date);
|
||||
expect(result!.getTime()).toBeGreaterThanOrEqual(before - offsetMs);
|
||||
expect(result!.getTime()).toBeLessThanOrEqual(after - offsetMs);
|
||||
expect(result.getTime()).toBeGreaterThanOrEqual(before - offsetMs);
|
||||
expect(result.getTime()).toBeLessThanOrEqual(after - offsetMs);
|
||||
});
|
||||
|
||||
it("returns undefined for 'all'", () => {
|
||||
expect(getDateForRange("all")).toBeUndefined();
|
||||
it("returns the epoch for 'all'", () => {
|
||||
expect(getDateForRange("all")).toEqual(new Date(0));
|
||||
});
|
||||
});
|
||||
|
||||
describe("getDateFormat", () => {
|
||||
it.each([
|
||||
["recent", "%Y-%m-%dT%H:%M:00Z"],
|
||||
["hour", "%Y-%m-%dT%H:%M:00Z"],
|
||||
["day", "%Y-%m-%dT%H:00:00Z"],
|
||||
["week", "%Y-%m-%dT00:00:00Z"],
|
||||
["month", "%Y-%m-%dT00:00:00Z"],
|
||||
["all", "%Y-%m-%dT00:00:00Z"],
|
||||
])("returns the %s bucket format", (range, format) => {
|
||||
expect(getDateFormat(range as DateRange)).toBe(format);
|
||||
});
|
||||
|
||||
it("returns undefined for unknown ranges", () => {
|
||||
expect(getDateForRange("fortnight")).toBeUndefined();
|
||||
it("has a format for every member of DateRanges", () => {
|
||||
for (const range of DateRanges) {
|
||||
expect(getDateFormat(range)).toMatch(/^%Y-%m-%d/);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
Reference in new issue
Block a user