directus

Форк
0
/
get-date-formatted.test.ts 
37 строк · 1.2 Кб
1
import { afterEach, beforeEach, expect, test, vi } from 'vitest';
2

3
import { getDateFormatted } from './get-date-formatted.js';
4

5
beforeEach(() => {
6
	vi.useFakeTimers();
7
});
8

9
afterEach(() => {
10
	vi.useRealTimers();
11
});
12

13
function getUtcDateForString(date: string) {
14
	const now = new Date(date);
15

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);
20

21
	return nowUTC;
22
}
23

24
test.each([
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);
33

34
	vi.setSystemTime(nowUTC);
35

36
	expect(getDateFormatted()).toBe(expected);
37
});
38

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.