f6a927aa054c90d3d994d38d4ae81119994f50d2
[poolifier.git] / tests / worker / cluster-worker.test.mjs
1 import { expect } from 'expect'
2 import { ClusterWorker } from '../../lib/index.js'
3
4 describe('Cluster worker test suite', () => {
5 let numberOfMessagesSent = 0
6 const send = () => {
7 ++numberOfMessagesSent
8 }
9 class SpyWorker extends ClusterWorker {
10 getMainWorker () {
11 return { send }
12 }
13 }
14
15 it('Verify that handleError() method is working properly', () => {
16 const error = new Error('Error as an error')
17 const worker = new ClusterWorker(() => {})
18 expect(worker.handleError(error)).not.toBeInstanceOf(Error)
19 expect(worker.handleError(error)).toStrictEqual(error.message)
20 const errorMessage = 'Error as a string'
21 expect(worker.handleError(errorMessage)).toStrictEqual(errorMessage)
22 })
23
24 it('Verify worker invokes the getMainWorker() and send() methods', () => {
25 const worker = new SpyWorker(() => {})
26 worker.sendToMainWorker({ ok: 1 })
27 expect(numberOfMessagesSent).toBe(1)
28 })
29 })