mirror of
https://github.com/sysadminsmedia/homebox.git
synced 2025-12-24 14:31:55 +01:00
50 lines
1.4 KiB
TypeScript
50 lines
1.4 KiB
TypeScript
import { describe, test, expect } from "vitest";
|
|
import { format, zeroTime, factorRange, parse } from "./datelib";
|
|
|
|
describe("format", () => {
|
|
test("should format a date as a string", () => {
|
|
const date = new Date(2020, 1, 1);
|
|
expect(format(date)).toBe("2020-02-01");
|
|
});
|
|
|
|
test("should return the string if a string is passed in", () => {
|
|
expect(format("2020-02-01")).toBe("2020-02-01");
|
|
});
|
|
});
|
|
|
|
describe("zeroTime", () => {
|
|
test("should zero out the time", () => {
|
|
const date = new Date(2020, 1, 1, 12, 30, 30);
|
|
const zeroed = zeroTime(date);
|
|
expect(zeroed.getHours()).toBe(0);
|
|
expect(zeroed.getMinutes()).toBe(0);
|
|
expect(zeroed.getSeconds()).toBe(0);
|
|
});
|
|
});
|
|
|
|
describe("factorRange", () => {
|
|
test("should return a range of dates", () => {
|
|
const [start, end] = factorRange(10);
|
|
|
|
// Start should be today
|
|
expect(start).toBeInstanceOf(Date);
|
|
expect(start.getFullYear()).toBe(new Date().getFullYear());
|
|
|
|
// End should be 10 days from now
|
|
expect(end).toBeInstanceOf(Date);
|
|
|
|
// Set the future date so it works even in late December when the year changes
|
|
const futureDate = new Date();
|
|
futureDate.setDate(futureDate.getDate() + 10); // Adds 10 days to the current date
|
|
|
|
expect(end.getFullYear()).toBe(futureDate.getFullYear());
|
|
});
|
|
});
|
|
|
|
describe("parse", () => {
|
|
test("should parse a date string", () => {
|
|
const date = parse("2020-02-01");
|
|
expect(date).toBeInstanceOf(Date);
|
|
});
|
|
});
|