refactor: use PoolEvents enum
[poolifier.git] / tests / pools / cluster / dynamic.test.mjs
index d2a250c15b6b1032a6687634caa6cc905e115e00..09df7318b44bfb1895331904bc9848f1cddb07ad 100644 (file)
@@ -1,4 +1,5 @@
 import { expect } from 'expect'
+
 import {
   DynamicClusterPool,
   PoolEvents,
@@ -71,7 +72,10 @@ describe('Dynamic cluster pool test suite', () => {
     await pool.destroy()
     const numberOfExitEvents = await exitPromise
     expect(pool.started).toBe(false)
-    expect(pool.emitter.eventNames()).toStrictEqual([])
+    expect(pool.emitter.eventNames()).toStrictEqual([
+      PoolEvents.busy,
+      PoolEvents.destroy
+    ])
     expect(pool.readyEventEmitted).toBe(false)
     expect(pool.workerNodes.length).toBe(0)
     expect(numberOfExitEvents).toBe(min)
@@ -157,15 +161,17 @@ describe('Dynamic cluster pool test suite', () => {
     await pool.destroy()
   })
 
-  it.skip('Verify that a pool with zero worker works', async () => {
-    const pool = new DynamicClusterPool(
-      0,
-      max,
-      './tests/worker-files/thread/testWorker.mjs'
-    )
-    expect(pool.starting).toBe(false)
+  it('Verify that a pool with zero worker works', async () => {
     for (const workerChoiceStrategy of Object.values(WorkerChoiceStrategies)) {
-      pool.setWorkerChoiceStrategy(workerChoiceStrategy)
+      const pool = new DynamicClusterPool(
+        0,
+        max,
+        './tests/worker-files/cluster/testWorker.cjs',
+        {
+          workerChoiceStrategy
+        }
+      )
+      expect(pool.starting).toBe(false)
       expect(pool.readyEventEmitted).toBe(false)
       for (let run = 0; run < 2; run++) {
         run % 2 !== 0 && pool.enableTasksQueue(true)
@@ -183,8 +189,8 @@ describe('Dynamic cluster pool test suite', () => {
         expect(pool.readyEventEmitted).toBe(false)
         expect(pool.workerNodes.length).toBe(pool.info.minSize)
       }
+      // We need to clean up the resources after our test
+      await pool.destroy()
     }
-    // We need to clean up the resources after our test
-    await pool.destroy()
   })
 })