const { expect } = require('expect')
-const { FixedThreadPool } = require('../../../lib/index')
+const { FixedThreadPool, PoolEvents } = require('../../../lib/index')
const { WorkerFunctions } = require('../../test-types')
const TestUtils = require('../../test-utils')
await emptyPool.destroy()
})
- it('Choose worker round robin test', async () => {
- const results = new Set()
- for (let i = 0; i < numberOfThreads; i++) {
- results.add(pool.chooseWorker().threadId)
- }
- expect(results.size).toBe(numberOfThreads)
- })
-
it('Verify that the function is executed in a worker thread', async () => {
let result = await pool.execute({
function: WorkerFunctions.fibonacci
expect(result).toBe(false)
})
- it('Verify that busy event is emitted', async () => {
- const promises = []
+ it("Verify that 'busy' event is emitted", async () => {
let poolBusy = 0
- pool.emitter.on('busy', () => poolBusy++)
+ pool.emitter.on(PoolEvents.busy, () => ++poolBusy)
for (let i = 0; i < numberOfThreads * 2; i++) {
- promises.push(pool.execute())
+ pool.execute()
}
// The `busy` event is triggered when the number of submitted tasks at once reach the number of fixed pool workers.
// So in total numberOfThreads + 1 times for a loop submitting up to numberOfThreads * 2 tasks to the fixed pool.