X-Git-Url: https://git.squeep.com/?a=blobdiff_plain;f=test%2Fsrc%2Fworker.js;h=7f99de178b884cdd852bc3a642c846936625948d;hb=8cd88ab4087a7fab2ccd6e231c64d7f0f1299f26;hp=5c97c0b24dd33de7dabdceb02ed298320d971188;hpb=fe3a4d96d559edcc30c2047109cd7b027e6258eb;p=websub-hub diff --git a/test/src/worker.js b/test/src/worker.js index 5c97c0b..7f99de1 100644 --- a/test/src/worker.js +++ b/test/src/worker.js @@ -1,8 +1,7 @@ -/* eslint-env mocha */ 'use strict'; -const assert = require('assert'); -const sinon = require('sinon'); // eslint-disable-line node/no-unpublished-require +const assert = require('node:assert'); +const sinon = require('sinon'); const Worker = require('../../src/worker'); const Config = require('../../config'); @@ -131,6 +130,12 @@ describe('Worker', function () { stubCtx = {}; }); it('gets tasks', async function () { + /** + * In older versions, could just deepStrictEqual un-awaited promises for equality, + * but post 14 or so, async_id symbol properties are included in comparison, and + * in some executions of test suites these are somehow different in value so the test + * was failing. So now we settle everything prior to comparison. + */ const expected = [ Promise.resolve('first'), Promise.reject('bad'), @@ -138,7 +143,11 @@ describe('Worker', function () { ]; worker.promiseGiver.resolves(expected); const result = await worker._getWork(stubCtx); - assert.deepStrictEqual(result, expected); + + const expectedResolved = await Promise.allSettled(expected); + const resultResolved = await Promise.allSettled(result); + assert.deepStrictEqual(resultResolved, expectedResolved); + assert.strictEqual(worker.inFlight.length, expected.length); }); it('covers none wanted', async function () {