test: add more event emitter tests
[poolifier.git] / tests / pools / abstract-pool.test.js
index 85d48d6a4e4eecaab910c20814a8abc471cc6fe3..e6572cc1851a74a028e0a6a39f5478153fc57d32 100644 (file)
@@ -1,4 +1,4 @@
-const { EventEmitter } = require('node:events')
+const { EventEmitterAsyncResource } = require('node:events')
 const { expect } = require('expect')
 const sinon = require('sinon')
 const {
@@ -186,7 +186,7 @@ describe('Abstract pool test suite', () => {
       numberOfWorkers,
       './tests/worker-files/thread/testWorker.js'
     )
-    expect(pool.emitter).toBeInstanceOf(EventEmitter)
+    expect(pool.emitter).toBeInstanceOf(EventEmitterAsyncResource)
     expect(pool.opts).toStrictEqual({
       startWorkers: true,
       enableEvents: true,
@@ -1102,6 +1102,7 @@ describe('Abstract pool test suite', () => {
       numberOfWorkers,
       './tests/worker-files/cluster/testWorker.js'
     )
+    expect(pool.emitter.eventNames()).toStrictEqual([])
     let poolInfo
     let poolReady = 0
     pool.emitter.on(PoolEvents.ready, info => {
@@ -1109,6 +1110,7 @@ describe('Abstract pool test suite', () => {
       poolInfo = info
     })
     await waitPoolEvents(pool, PoolEvents.ready, 1)
+    expect(pool.emitter.eventNames()).toStrictEqual([PoolEvents.ready])
     expect(poolReady).toBe(1)
     expect(poolInfo).toStrictEqual({
       version,
@@ -1134,6 +1136,7 @@ describe('Abstract pool test suite', () => {
       numberOfWorkers,
       './tests/worker-files/thread/testWorker.js'
     )
+    expect(pool.emitter.eventNames()).toStrictEqual([])
     const promises = new Set()
     let poolBusy = 0
     let poolInfo
@@ -1141,6 +1144,7 @@ describe('Abstract pool test suite', () => {
       ++poolBusy
       poolInfo = info
     })
+    expect(pool.emitter.eventNames()).toStrictEqual([PoolEvents.busy])
     for (let i = 0; i < numberOfWorkers * 2; i++) {
       promises.add(pool.execute())
     }
@@ -1173,6 +1177,7 @@ describe('Abstract pool test suite', () => {
       numberOfWorkers,
       './tests/worker-files/thread/testWorker.js'
     )
+    expect(pool.emitter.eventNames()).toStrictEqual([])
     const promises = new Set()
     let poolFull = 0
     let poolInfo
@@ -1180,6 +1185,7 @@ describe('Abstract pool test suite', () => {
       ++poolFull
       poolInfo = info
     })
+    expect(pool.emitter.eventNames()).toStrictEqual([PoolEvents.full])
     for (let i = 0; i < numberOfWorkers * 2; i++) {
       promises.add(pool.execute())
     }
@@ -1213,6 +1219,7 @@ describe('Abstract pool test suite', () => {
       }
     )
     sinon.stub(pool, 'hasBackPressure').returns(true)
+    expect(pool.emitter.eventNames()).toStrictEqual([])
     const promises = new Set()
     let poolBackPressure = 0
     let poolInfo
@@ -1220,6 +1227,7 @@ describe('Abstract pool test suite', () => {
       ++poolBackPressure
       poolInfo = info
     })
+    expect(pool.emitter.eventNames()).toStrictEqual([PoolEvents.backPressure])
     for (let i = 0; i < numberOfWorkers + 1; i++) {
       promises.add(pool.execute())
     }