Merge dependabot/npm_and_yarn/examples/typescript/http-server-pool/express-cluster...
[poolifier.git] / tests / worker / thread-worker.test.js
CommitLineData
a61a0724 1const { expect } = require('expect')
fd027a65
S
2const { ThreadWorker } = require('../../lib')
3
e1ffb94f
JB
4describe('Thread worker test suite', () => {
5 let numberOfMessagesPosted = 0
440dd7d7 6 const postMessage = () => {
ffcbbad8 7 ++numberOfMessagesPosted
e1ffb94f
JB
8 }
9 class SpyWorker extends ThreadWorker {
85aeb3f3
JB
10 constructor (fn) {
11 super(fn)
12 this.port = { postMessage }
e1ffb94f 13 }
74a2a194 14 }
74a2a194 15
2431bdb4
JB
16 it('Verify that handleError() method is working properly', () => {
17 const error = new Error('Error as an error')
18 const worker = new ThreadWorker(() => {})
19 expect(worker.handleError(error)).toStrictEqual(error)
20 const errorMessage = 'Error as a string'
21 expect(worker.handleError(errorMessage)).toStrictEqual(errorMessage)
22 })
23
85aeb3f3 24 it('Verify worker invokes the postMessage() method on port property', () => {
74a2a194
APA
25 const worker = new SpyWorker(() => {})
26 worker.sendToMainWorker({ ok: 1 })
27 expect(numberOfMessagesPosted).toBe(1)
28 })
fd027a65 29})