X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=test%2Futils%2FUtils.test.ts;h=4a98277511875280e84d24bd7dc135477617d061;hb=5f742aac345f2eb8897c24651d00c7fb43dabbf8;hp=0a672917641794060df5932b7999fbee5f0703d2;hpb=1553f6dfdc6f706c6a1e399751285322fbf98595;p=e-mobility-charging-stations-simulator.git diff --git a/test/utils/Utils.test.ts b/test/utils/Utils.test.ts index 0a672917..4a982775 100644 --- a/test/utils/Utils.test.ts +++ b/test/utils/Utils.test.ts @@ -1,4 +1,4 @@ -import { hoursToMilliseconds, hoursToSeconds, isValid } from 'date-fns'; +import { hoursToMilliseconds, hoursToSeconds } from 'date-fns'; import { expect } from 'expect'; import { Constants } from '../../src/utils/Constants'; @@ -26,6 +26,7 @@ import { isObject, isUndefined, isValidTime, + once, roundTo, secureRandom, sleep, @@ -48,8 +49,8 @@ describe('Utils test suite', () => { it('Verify sleep()', async () => { const start = performance.now(); await sleep(1000); - const end = performance.now(); - expect(end - start).toBeGreaterThanOrEqual(1000); + const stop = performance.now(); + expect(stop - start).toBeGreaterThanOrEqual(1000); }); it('Verify formatDurationMilliSeconds()', () => { @@ -84,9 +85,12 @@ describe('Utils test suite', () => { it('Verify convertToDate()', () => { expect(convertToDate(undefined)).toBe(undefined); - expect(convertToDate(null)).toBe(null); - expect(isValid(convertToDate(''))).toBe(false); + expect(() => convertToDate('')).toThrowError(new Error("Cannot convert to date: ''")); + expect(() => convertToDate('00:70:61')).toThrowError( + new Error("Cannot convert to date: '00:70:61'"), + ); expect(convertToDate(0)).toStrictEqual(new Date('1970-01-01T00:00:00.000Z')); + expect(convertToDate(-1)).toStrictEqual(new Date('1969-12-31T23:59:59.999Z')); const dateStr = '2020-01-01T00:00:00.000Z'; let date = convertToDate(dateStr); expect(date).toBeInstanceOf(Date); @@ -114,7 +118,7 @@ describe('Utils test suite', () => { expect(convertToInt(1.999)).toBe(1); expect(() => { convertToInt('NaN'); - }).toThrow('Cannot convert to integer: NaN'); + }).toThrow("Cannot convert to integer: 'NaN'"); }); it('Verify convertToFloat()', () => { @@ -135,7 +139,7 @@ describe('Utils test suite', () => { expect(convertToFloat(1.999)).toBe(1.999); expect(() => { convertToFloat('NaN'); - }).toThrow('Cannot convert to float: NaN'); + }).toThrow("Cannot convert to float: 'NaN'"); }); it('Verify convertToBoolean()', () => { @@ -428,4 +432,19 @@ describe('Utils test suite', () => { expect(isArraySorted([1, 2, 3, 5, 4], (a, b) => a - b)).toBe(false); expect(isArraySorted([2, 1, 3, 4, 5], (a, b) => a - b)).toBe(false); }); + + it('Verify once()', () => { + let called = 0; + const fn = () => ++called; + const onceFn = once(fn, this); + const result1 = onceFn(); + expect(called).toBe(1); + expect(result1).toBe(1); + const result2 = onceFn(); + expect(called).toBe(1); + expect(result2).toBe(1); + const result3 = onceFn(); + expect(called).toBe(1); + expect(result3).toBe(1); + }); });