refactor: silence sonar code smells
[poolifier.git] / tests / worker / thread-worker.test.js
index 2bbb280fff2edefbd58ab8d6e3623695c83b3c38..072617d35a4e47d3e1c7c0912b754e2afe4bb0cc 100644 (file)
@@ -1,23 +1,32 @@
-const expect = require('expect')
+const { expect } = require('expect')
 const { ThreadWorker } = require('../../lib')
 
-let numberOfMessagesPosted = 0
-const postMessage = function () {
-  numberOfMessagesPosted++
-}
-class SpyWorker extends ThreadWorker {
-  getMainWorker () {
-    return { postMessage }
+describe('Thread worker test suite', () => {
+  let numberOfMessagesPosted = 0
+  const postMessage = () => {
+    ++numberOfMessagesPosted
+  }
+  class SpyWorker extends ThreadWorker {
+    constructor (fn) {
+      super(fn)
+      this.port = { postMessage }
+    }
   }
-}
 
-describe('Thread worker test suite', () => {
   it('Verify worker has default maxInactiveTime', () => {
     const worker = new ThreadWorker(() => {})
-    expect(worker.opts.maxInactiveTime).toEqual(60_000)
+    expect(worker.opts.maxInactiveTime).toStrictEqual(60000)
+  })
+
+  it('Verify that handleError() method is working properly', () => {
+    const error = new Error('Error as an error')
+    const worker = new ThreadWorker(() => {})
+    expect(worker.handleError(error)).toStrictEqual(error)
+    const errorMessage = 'Error as a string'
+    expect(worker.handleError(errorMessage)).toStrictEqual(errorMessage)
   })
 
-  it('Verify worker invoke the getMainWorker and postMessage methods', () => {
+  it('Verify worker invokes the postMessage() method on port property', () => {
     const worker = new SpyWorker(() => {})
     worker.sendToMainWorker({ ok: 1 })
     expect(numberOfMessagesPosted).toBe(1)