build(deps-dev): apply updates
[poolifier.git] / tests / utils.test.mjs
index 74c53a1629b7f3ef7738bdbc50e3f908216457dd..ac544f89c5a2f504a6c768c212461e30a8467ee9 100644 (file)
@@ -19,6 +19,7 @@ import {
   max,
   median,
   min,
+  once,
   round,
   secureRandom,
   sleep
@@ -66,13 +67,15 @@ describe('Utils test suite', () => {
 
   it('Verify getWorkerType() behavior', () => {
     expect(
-      getWorkerType(new Worker('./tests/worker-files/thread/testWorker.js'))
+      getWorkerType(new Worker('./tests/worker-files/thread/testWorker.mjs'))
     ).toBe(WorkerTypes.thread)
     expect(getWorkerType(cluster.fork())).toBe(WorkerTypes.cluster)
   })
 
   it('Verify getWorkerId() behavior', () => {
-    const threadWorker = new Worker('./tests/worker-files/thread/testWorker.js')
+    const threadWorker = new Worker(
+      './tests/worker-files/thread/testWorker.mjs'
+    )
     const clusterWorker = cluster.fork()
     expect(getWorkerId(threadWorker)).toBe(threadWorker.threadId)
     expect(getWorkerId(clusterWorker)).toBe(clusterWorker.id)
@@ -235,4 +238,19 @@ describe('Utils test suite', () => {
     expect(max(2, 1)).toBe(2)
     expect(max(1, 1)).toBe(1)
   })
+
+  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)
+  })
 })