Files
ontime/server/src/classes/timer/__tests__/timer.test.js
T
Carlos Valente 0e450cb6cb Feat/table part1 (#197)
* feat(csv): export data as csv file
* feat(table): toggle fullscreen
* ux: coordinate tooltip open delay
* feat(excelDates): update tests
* refactor: folder structure
2022-09-04 22:44:03 +02:00

55 lines
1.8 KiB
JavaScript

import { Timer } from '../Timer';
test('object instantiates correctly', () => {
const t = new Timer();
expect(t.clock).toBeNull;
expect(t.duration).toBeNull;
expect(t.current).toBeNull;
expect(t.timeTag).toBeNull;
expect(t.secondaryTimer).toBeNull;
expect(t._secondaryTarget).toBeNull;
expect(t._finishAt).toBeNull;
expect(t._finishedAt).toBeNull;
expect(t._finishedFlag).toBeFalsy;
expect(t._startedAt).toBeNull;
expect(t._pausedAt).toBeNull;
expect(t._pausedInterval).toBeNull;
expect(t._pausedTotal).toBeNull;
expect(t.state).toBe('stop');
});
test('convert between mills and seconds correctly', () => {
expect(Timer.toSeconds(10000)).toBe(10);
expect(Timer.toSeconds(9016)).toBe(9);
expect(Timer.toSeconds(8016)).toBe(8);
expect(Timer.toSeconds(7010)).toBe(7);
expect(Timer.toSeconds(6006)).toBe(6);
expect(Timer.toSeconds(4999)).toBe(4);
expect(Timer.toSeconds(2995)).toBe(2);
expect(Timer.toSeconds(1991)).toBe(1);
expect(Timer.toSeconds(992)).toBe(0);
expect(Timer.toSeconds(127)).toBe(0);
expect(Timer.toSeconds(0)).toBe(0);
expect(Timer.toSeconds(-0)).toBe(-0);
expect(Timer.toSeconds(-127)).toBe(-0);
expect(Timer.toSeconds(-992)).toBe(-0);
expect(Timer.toSeconds(-1991)).toBe(-1);
expect(Timer.toSeconds(-2995)).toBe(-2);
expect(Timer.toSeconds(-4999)).toBe(-4);
expect(Timer.toSeconds(-6006)).toBe(-6);
expect(Timer.toSeconds(-7010)).toBe(-7);
expect(Timer.toSeconds(-8016)).toBe(-8);
expect(Timer.toSeconds(-10000)).toBe(-10);
});
test('converting between millis to seconds handles partials correctly', () => {
const finish = 82162001;
const now = 80364519;
const runningMs = finish - now;
expect(Timer.toSeconds(runningMs)).toBe(1797);
expect(Timer.toSeconds(1800000)).toBe(1800);
expect(Timer.toSeconds(1799761)).toBe(1799);
});