1
import { afterEach, beforeEach, expect, test, vi } from 'vitest';
3
import { getDateFormatted } from './get-date-formatted.js';
13
function getUtcDateForString(date: string) {
14
const now = new Date(date);
16
// account for timezone difference depending on the machine where this test is ran
17
const timezoneOffsetInMinutes = now.getTimezoneOffset();
18
const timezoneOffsetInMilliseconds = timezoneOffsetInMinutes * 60 * 1000;
19
const nowUTC = new Date(now.valueOf() + timezoneOffsetInMilliseconds);
25
{ utc: '2023-01-01T01:23:45.678Z', expected: '20230101-12345' },
26
{ utc: '2023-01-11T01:23:45.678Z', expected: '20230111-12345' },
27
{ utc: '2023-11-01T01:23:45.678Z', expected: '20231101-12345' },
28
{ utc: '2023-11-11T12:34:56.789Z', expected: '20231111-123456' },
29
{ utc: '2023-06-01T01:23:45.678Z', expected: '20230601-12345' },
30
{ utc: '2023-06-11T12:34:56.789Z', expected: '20230611-123456' },
31
])('should format $utc into "$expected"', ({ utc, expected }) => {
32
const nowUTC = getUtcDateForString(utc);
34
vi.setSystemTime(nowUTC);
36
expect(getDateFormatted()).toBe(expected);