1 import { TimeManager } from "./time";
3 describe('TimeManager', () => {
10 '2023-01-01 08:00:00',
11 '2023-01-01 10:00:00',
12 '2023-01-01 12:00:00',
13 '2023-01-01 14:00:00',
14 '2023-01-01 16:00:00',
15 '2023-01-01 18:00:00',
16 '2023-01-01 20:00:00',
17 '2023-01-01 22:00:00',
21 '2023-01-01 01:00:00',
22 '2023-01-01 03:00:00',
23 '2023-01-01 05:00:00',
24 '2023-01-01 07:00:00',
25 '2023-01-01 09:00:00',
26 '2023-01-01 11:00:00',
27 '2023-01-01 13:00:00',
28 '2023-01-01 15:00:00',
29 '2023-01-01 17:00:00',
30 '2023-01-01 19:00:00',
31 '2023-01-01 21:00:00',
32 '2023-01-01 23:00:00',
35 evenHours.forEach(hour => {
36 it(`returns midnight for ${hour}`, () => {
37 jest.setSystemTime(new Date(hour));
38 const time = new TimeManager(120);
40 expect(time.get24Hour()).toBe(0);
44 oddHours.forEach(hour => {
45 it(`returns afternoon for ${hour}`, () => {
46 jest.setSystemTime(new Date(hour));
47 const time = new TimeManager(120);
49 expect(time.get24Hour()).toBe(12);
52 it('returns 0am for 2023-01-01 00:00:00', () => {
53 jest.setSystemTime(new Date('2023-01-01 00:00:00'));
54 const time = new TimeManager(120);
56 expect(time.getHour()).toBe(12);
59 it('returns 12pm for 2023-01-01 11:00:00', () => {
60 jest.setSystemTime(new Date('2023-01-01 11:00:00'));
61 const time = new TimeManager(120);
63 expect(time.getHour()).toBe(12);
66 it('returns 6h for 2023-01-01 00:30:00', () => {
67 jest.setSystemTime(new Date('2023-01-01 00:30:00'));
68 const time = new TimeManager(120);
70 expect(time.get24Hour()).toBe(6);
73 it('returns 21h for 2023-01-01 13:45:00', () => {
74 jest.setSystemTime(new Date('2023-01-01 13:45:00'));
75 const time = new TimeManager(120);
77 expect(time.get24Hour()).toBe(21);
80 it('returns the right gradient name for 2023-01-01 9:02', () => {
81 jest.setSystemTime(new Date('2023-01-01 9:02:00'));
82 const time = new TimeManager(120);
84 expect(time.gradientName()).toBe('sky-gradient-15');