feat: print deprecation warnings once
[e-mobility-charging-stations-simulator.git] / test / utils / Utils.test.ts
index 05bf2bbb4c089eb99a6803616f4fb068c49d1df4..4a98277511875280e84d24bd7dc135477617d061 100644 (file)
@@ -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()', () => {
@@ -431,4 +432,19 @@ describe('Utils test suite', () => {
     expect(isArraySorted<number>([1, 2, 3, 5, 4], (a, b) => a - b)).toBe(false);
     expect(isArraySorted<number>([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);
+  });
 });