diff options
| author | Ruben Beltran del Rio <ruben@unlimited.pizza> | 2021-04-17 12:35:28 +0200 |
|---|---|---|
| committer | Ruben Beltran del Rio <ruben@unlimited.pizza> | 2021-04-17 12:35:28 +0200 |
| commit | e7f6de3d196ec1bf392056c504c2bc7b86e40ca0 (patch) | |
| tree | c6a37283a72edb9d0c1465e73ddfd20fb5a95901 /src/utils/readable_time.test.js | |
| parent | f088a6594c15951b85a56129944afa51a62dc765 (diff) | |
Add tests for utils
Diffstat (limited to 'src/utils/readable_time.test.js')
| -rw-r--r-- | src/utils/readable_time.test.js | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/src/utils/readable_time.test.js b/src/utils/readable_time.test.js new file mode 100644 index 0000000..5d8ba27 --- /dev/null +++ b/src/utils/readable_time.test.js @@ -0,0 +1,83 @@ +import { readableTime } from './readable_time'; + +describe('readableTime', () => { + + test('it shows negative time as 0', () => { + + const response = readableTime(-1000); + + expect(response.count).toBe(0); + expect(response.label).toContain('seconds'); + }); + + test('uses seconds as the smallest unit', () => { + + const response = readableTime(10); + + expect(response.count).toBe(0); + expect(response.label).toContain('seconds'); + }); + + test('correctly divides miliseconds into seconds', () => { + + const response = readableTime(4000); + + expect(response.count).toBe(4); + }); + + test('uses seconds if the time is < 1 minute', () => { + + const response = readableTime(59 * 1000); + + expect(response.label).toContain('seconds'); + }); + + test('correctly divides miliseconds into minutes', () => { + + const response = readableTime(2 * 60 * 1000); + + expect(response.count).toBe(2); + }); + + test('uses minutes if the time is < 1 hour', () => { + + const response = readableTime(59 * 60 * 1000); + + expect(response.label).toContain('minutes'); + }); + + test('correctly divides miliseconds into hours', () => { + + const response = readableTime(2 * 60 * 60 * 1000); + + expect(response.count).toBe(2); + }); + + test('uses hours if the time is < 1 days', () => { + + const response = readableTime(23 * 60 * 60 * 1000); + + expect(response.label).toContain('hours'); + }); + + test('correctly divides miliseconds into days', () => { + + const response = readableTime(2 * 24 * 60 * 60 * 1000); + + expect(response.count).toBe(2); + }); + + test('uses days if the time is >= 1 day', () => { + + const response = readableTime(364 * 24 * 60 * 60 * 1000); + + expect(response.label).toContain('days'); + }); + + test('uses days as the maximum unit', () => { + + const response = readableTime(Number.MAX_VALUE); + + expect(response.label).toContain('days'); + }); +}); |