55 lines
1.7 KiB
TypeScript
55 lines
1.7 KiB
TypeScript
import { afterAll, beforeAll, describe, expect, it, vi } from "vitest"
|
|
|
|
import { getValidFromDate, getValidToDate } from "./getValidDates"
|
|
|
|
const NOW = new Date("2020-10-01T00:00:00Z")
|
|
|
|
describe("getValidFromDate", () => {
|
|
beforeAll(() => {
|
|
vi.useFakeTimers({ now: NOW })
|
|
})
|
|
|
|
afterAll(() => {
|
|
vi.useRealTimers()
|
|
})
|
|
|
|
describe("getValidFromDate", () => {
|
|
it("returns today when empty string is provided", () => {
|
|
const actual = getValidFromDate("")
|
|
expect(actual.toISOString()).toBe("2020-10-01T00:00:00.000Z")
|
|
})
|
|
|
|
it("returns today when undefined is provided", () => {
|
|
const actual = getValidFromDate(undefined)
|
|
expect(actual.toISOString()).toBe("2020-10-01T00:00:00.000Z")
|
|
})
|
|
|
|
it("returns given date in utc", () => {
|
|
const actual = getValidFromDate("2024-01-01")
|
|
expect(actual.toISOString()).toBe("2024-01-01T00:00:00.000Z")
|
|
})
|
|
})
|
|
|
|
describe("getValidToDate", () => {
|
|
it("returns day after fromDate when empty string is provided", () => {
|
|
const actual = getValidToDate("", NOW)
|
|
expect(actual.toISOString()).toBe("2020-10-02T00:00:00.000Z")
|
|
})
|
|
|
|
it("returns day after fromDate when undefined is provided", () => {
|
|
const actual = getValidToDate(undefined, NOW)
|
|
expect(actual.toISOString()).toBe("2020-10-02T00:00:00.000Z")
|
|
})
|
|
|
|
it("returns given date in utc", () => {
|
|
const actual = getValidToDate("2024-01-01", NOW)
|
|
expect(actual.toISOString()).toBe("2024-01-01T00:00:00.000Z")
|
|
})
|
|
|
|
it("fallsback to day after fromDate when given date is before fromDate", () => {
|
|
const actual = getValidToDate("2020-09-30", NOW)
|
|
expect(actual.toISOString()).toBe("2020-10-02T00:00:00.000Z")
|
|
})
|
|
})
|
|
})
|