Files
ontime/server/src/classes/__tests__/timer.test.js
T
Carlos Valente 2751ed3d33 fix/58-countdown
correct issues on countdown clock (#68)
2021-12-16 22:13:41 +01:00

44 lines
1.5 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(10);
expect(Timer.toSeconds(8016)).toBe(9);
expect(Timer.toSeconds(7010)).toBe(8);
expect(Timer.toSeconds(6006)).toBe(7);
expect(Timer.toSeconds(4999)).toBe(5);
expect(Timer.toSeconds(2995)).toBe(3);
expect(Timer.toSeconds(1991)).toBe(2);
expect(Timer.toSeconds(992)).toBe(1);
expect(Timer.toSeconds(127)).toBe(1);
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);
});