summaryrefslogtreecommitdiff
path: root/spec/frontend/helpers/fake_date_spec.js
blob: b3ed13e238a90ae2c0a8a30d0cf3d1dfd76ab648 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import { createFakeDateClass, DEFAULT_ARGS, useRealDate } from './fake_date';

describe('spec/helpers/fake_date', () => {
  describe('createFakeDateClass', () => {
    let FakeDate;

    beforeAll(() => {
      useRealDate();
    });

    beforeEach(() => {
      FakeDate = createFakeDateClass(DEFAULT_ARGS);
    });

    it('should use default args', () => {
      expect(new FakeDate()).toMatchInlineSnapshot(`2020-07-06T00:00:00.000Z`);
    });

    it('should use default args when called as a function', () => {
      expect(FakeDate()).toMatchInlineSnapshot(
        `"Mon Jul 06 2020 00:00:00 GMT+0000 (Greenwich Mean Time)"`,
      );
    });

    it('should have deterministic now()', () => {
      expect(FakeDate.now()).toMatchInlineSnapshot(`1593993600000`);
    });

    it('should be instanceof Date', () => {
      expect(new FakeDate()).toBeInstanceOf(Date);
    });

    it('should be instanceof self', () => {
      expect(new FakeDate()).toBeInstanceOf(FakeDate);
    });
  });
});