mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-10-19 05:26:47 +00:00
29 lines
1004 B
TypeScript
29 lines
1004 B
TypeScript
import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest'
|
|
import { localIsoDate } from './localDate'
|
|
|
|
/**
|
|
* "Today" must be the user's local calendar date. `toISOString()` is the UTC
|
|
* date — between local midnight and the UTC rollover it is YESTERDAY for any
|
|
* TZ ahead of UTC, which misclassified trips/journeys in that window. On a UTC
|
|
* machine local == UTC, so the distinction is vacuous there; these tests pin
|
|
* the clock at 00:30 local, where any positive offset separates the two.
|
|
*/
|
|
describe('localIsoDate', () => {
|
|
beforeEach(() => {
|
|
vi.useFakeTimers()
|
|
vi.setSystemTime(new Date(2026, 7, 25, 0, 30)) // local 2026-08-25 00:30
|
|
})
|
|
afterEach(() => {
|
|
vi.useRealTimers()
|
|
})
|
|
|
|
it('formats the local calendar date, zero-padded', () => {
|
|
expect(localIsoDate()).toBe('2026-08-25')
|
|
expect(localIsoDate(new Date(2026, 0, 3, 12))).toBe('2026-01-03')
|
|
})
|
|
|
|
it('defaults to now', () => {
|
|
expect(localIsoDate()).toBe(localIsoDate(new Date()))
|
|
})
|
|
})
|