-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
/
issue2027.swapped-order.test.js
79 lines (63 loc) · 2.49 KB
/
issue2027.swapped-order.test.js
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
import MockDate from 'mockdate'
import dayjs from '../../src'
import duration from '../../src/plugin/duration'
import objectSupport from '../../src/plugin/objectSupport'
dayjs.extend(duration)
dayjs.extend(objectSupport)
beforeEach(() => {
MockDate.set(new Date())
})
afterEach(() => {
MockDate.reset()
})
// issue 2027
describe('issue 2027 - order objectSupport > Duration', () => {
it('add Duration object returns correct date', () => {
const baseDate = dayjs('2022-06-26T14:01:02.003')
const durationToAdd = dayjs.duration(6, 'hours')
const testDate = baseDate.add(durationToAdd)
expect(testDate.format('YYYY-MM-DD HH:mm:ss.SSS')).toBe('2022-06-26 20:01:02.003')
})
it('subtract Duration object returns correct date', () => {
const baseDate = dayjs('2022-06-26T14:01:02.003')
const durationToAdd = dayjs.duration(6, 'hours')
const testDate = baseDate.subtract(durationToAdd)
expect(testDate.format('YYYY-MM-DD HH:mm:ss.SSS')).toBe('2022-06-26 08:01:02.003')
})
it('add number with unit returns correct date', () => {
const baseDate = dayjs('2022-06-26T14:01:02.003')
const testDate = baseDate.add(6, 'hours')
expect(testDate.format('YYYY-MM-DD HH:mm:ss.SSS')).toBe('2022-06-26 20:01:02.003')
})
it('subtract number with unit returns correct date', () => {
const baseDate = dayjs('2022-06-26T14:01:02.003')
const testDate = baseDate.subtract(6, 'hours')
expect(testDate.format('YYYY-MM-DD HH:mm:ss.SSS')).toBe('2022-06-26 08:01:02.003')
})
it('parse string returns correct date', () => {
const testDate = dayjs('2022-06-26T14:01:02.003')
expect(testDate.format('YYYY-MM-DD HH:mm:ss.SSS')).toBe('2022-06-26 14:01:02.003')
})
it('parse object returns correct date', () => {
const testDate = dayjs({
year: '2022',
month: '05',
day: '26',
hour: '14',
minute: '01',
second: '02',
millisecond: '003'
})
expect(testDate.format('YYYY-MM-DD HH:mm:ss.SSS')).toBe('2022-06-26 14:01:02.003')
})
it('set hour with number returns correct date', () => {
const baseDate = dayjs('2022-06-26T14:01:02.003')
const testDate = baseDate.hour(10)
expect(testDate.format('YYYY-MM-DD HH:mm:ss.SSS')).toBe('2022-06-26 10:01:02.003')
})
it('set hour with object returns correct date', () => {
const baseDate = dayjs('2022-06-26T14:01:02.003')
const testDate = baseDate.set({ hour: '10' })
expect(testDate.format('YYYY-MM-DD HH:mm:ss.SSS')).toBe('2022-06-26 10:01:02.003')
})
})