|
1 | 1 | import { DateDayDifference } from '../DateDayDifference'
|
2 | 2 |
|
3 |
| -test('The difference between 17/08/2002 & 10/10/2020 is 6630', () => { |
4 |
| - const res = DateDayDifference('17/08/2002', '10/10/2020') |
5 |
| - expect(res).toBe(6630) |
6 |
| -}) |
7 |
| - |
8 |
| -test('The difference between 18/02/2001 & 16/03/2022 is 7696', () => { |
9 |
| - const res = DateDayDifference('18/02/2001', '16/03/2022') |
10 |
| - expect(res).toBe(7696) |
11 |
| -}) |
| 3 | +describe('DateDayDifference', () => { |
| 4 | + it.each([ |
| 5 | + ['17/08/2002', '10/10/2020', 6629], |
| 6 | + ['18/02/2001', '16/03/2022', 7696], |
| 7 | + ['11/11/2011', '12/12/2012', 397], |
| 8 | + ['01/01/2001', '16/03/2011', 3726], |
| 9 | + ['04/03/2024', '04/03/2024', 0], |
| 10 | + ['03/03/2024', '04/03/2024', 1], |
| 11 | + ['02/03/2024', '04/03/2024', 2], |
| 12 | + ['01/03/2024', '04/03/2024', 3], |
| 13 | + ['29/02/2024', '04/03/2024', 4], |
| 14 | + ['04/03/2024', '04/03/2025', 365], |
| 15 | + ['04/03/2023', '04/03/2024', 366] |
| 16 | + ])( |
| 17 | + 'The difference between %s and %s is %i', |
| 18 | + (firstDate, secondDate, expected) => { |
| 19 | + expect(DateDayDifference(firstDate, secondDate)).toBe(expected) |
| 20 | + expect(DateDayDifference(secondDate, firstDate)).toBe(expected) |
| 21 | + } |
| 22 | + ) |
12 | 23 |
|
13 |
| -test('The difference between 11/11/2011 & 12/12/2012 is 398', () => { |
14 |
| - const res = DateDayDifference('11/11/2011', '12/12/2012') |
15 |
| - expect(res).toBe(398) |
16 |
| -}) |
| 24 | + it('should throw when any input is not a string', () => { |
| 25 | + expect(() => DateDayDifference(10102024, '11/10/2024')).toThrowError() |
| 26 | + expect(() => DateDayDifference('11/10/2024', 10102024)).toThrowError() |
| 27 | + }) |
17 | 28 |
|
18 |
| -test('The difference between 01/01/2001 & 16/03/2011 is 3727', () => { |
19 |
| - const res = DateDayDifference('01/01/2001', '16/03/2011') |
20 |
| - expect(res).toBe(3727) |
| 29 | + it.each(['32/01/2000', '00/01/2000', '15/00/2000', '15/13/2000'])( |
| 30 | + 'should throw when input is not a correct date %s', |
| 31 | + (wrongDate) => { |
| 32 | + expect(() => DateDayDifference(wrongDate, '04/03/2024')).toThrowError() |
| 33 | + expect(() => DateDayDifference('04/03/2024', wrongDate)).toThrowError() |
| 34 | + } |
| 35 | + ) |
21 | 36 | })
|
0 commit comments