build(deps-dev): bump rollup
[poolifier.git] / tests / worker / abstract-worker.test.js
index 6582961febd4fe699dc1b1a4977604f5023edf68..68665bc442fd540c9daaba0163340825ed347c29 100644 (file)
@@ -132,18 +132,24 @@ describe('Abstract worker test suite', () => {
       killHandler: sinon.stub().returns()
     })
     worker.isMain = false
+    worker.getMainWorker = sinon.stub().returns({
+      id: 1,
+      send: sinon.stub().returns()
+    })
     worker.handleKillMessage()
+    expect(worker.getMainWorker().send.calledOnce).toBe(true)
     expect(worker.opts.killHandler.calledOnce).toBe(true)
   })
 
-  // it('Verify that async kill handler is called when worker is killed', () => {
-  //   const worker = new ClusterWorker(() => {}, {
-  //     killHandler: sinon.stub().resolves()
-  //   })
-  //   worker.isMain = false
-  //   worker.handleKillMessage()
-  //   expect(worker.opts.killHandler.calledOnce).toBe(true)
-  // })
+  it('Verify that async kill handler is called when worker is killed', () => {
+    const killHandlerStub = sinon.stub().returns()
+    const worker = new ClusterWorker(() => {}, {
+      killHandler: async () => Promise.resolve(killHandlerStub())
+    })
+    worker.isMain = false
+    worker.handleKillMessage()
+    expect(killHandlerStub.calledOnce).toBe(true)
+  })
 
   it('Verify that handleError() method works properly', () => {
     const error = new Error('Error as an error')
@@ -220,6 +226,10 @@ describe('Abstract worker test suite', () => {
       return 2
     }
     const worker = new ClusterWorker({ fn1, fn2 })
+    worker.getMainWorker = sinon.stub().returns({
+      id: 1,
+      send: sinon.stub().returns()
+    })
     expect(worker.taskFunctions.get('default')).toBeInstanceOf(Function)
     expect(worker.taskFunctions.get('fn1')).toBeInstanceOf(Function)
     expect(worker.taskFunctions.get('fn2')).toBeInstanceOf(Function)
@@ -242,6 +252,7 @@ describe('Abstract worker test suite', () => {
     expect(worker.taskFunctions.get('fn1')).toBeInstanceOf(Function)
     expect(worker.taskFunctions.get('fn2')).toBeUndefined()
     expect(worker.taskFunctions.size).toBe(2)
+    expect(worker.getMainWorker().send.calledOnce).toBe(true)
   })
 
   it('Verify that listTaskFunctions() works', () => {