Add a pool option to register a message listener on pool workers (#487)
[poolifier.git] / tests / pools / abstract / abstract-pool.test.js
index df36568c9d3cfbd99689661334f6e26bddf0ae2b..b6846cc4218c48b98ca7eb4d96ddb6e3d1ad957b 100644 (file)
@@ -109,13 +109,22 @@ describe('Abstract pool test suite', () => {
     expect(pool.opts.workerChoiceStrategy).toBe(
       WorkerChoiceStrategies.ROUND_ROBIN
     )
+    expect(pool.opts.messageHandler).toBeUndefined()
+    expect(pool.opts.errorHandler).toBeUndefined()
+    expect(pool.opts.onlineHandler).toBeUndefined()
+    expect(pool.opts.exitHandler).toBeUndefined()
     pool.destroy()
+    const testHandler = () => console.log('test handler executed')
     pool = new FixedThreadPool(
       numberOfWorkers,
       './tests/worker-files/thread/testWorker.js',
       {
         workerChoiceStrategy: WorkerChoiceStrategies.LESS_RECENTLY_USED,
-        enableEvents: false
+        enableEvents: false,
+        messageHandler: testHandler,
+        errorHandler: testHandler,
+        onlineHandler: testHandler,
+        exitHandler: testHandler
       }
     )
     expect(pool.opts.enableEvents).toBe(false)
@@ -123,6 +132,10 @@ describe('Abstract pool test suite', () => {
     expect(pool.opts.workerChoiceStrategy).toBe(
       WorkerChoiceStrategies.LESS_RECENTLY_USED
     )
+    expect(pool.opts.messageHandler).toStrictEqual(testHandler)
+    expect(pool.opts.errorHandler).toStrictEqual(testHandler)
+    expect(pool.opts.onlineHandler).toStrictEqual(testHandler)
+    expect(pool.opts.exitHandler).toStrictEqual(testHandler)
     pool.destroy()
   })