tinfo-web-server / test /adminAuthService.test.js
Faridaqurr
initial backend
e8c33fa
Raw
History Blame Contribute Delete
659 Bytes
const test = require('node:test');
const assert = require('node:assert/strict');
test('ensureAdminInitialized does not reset promise between concurrent calls', async () => {
let bootstrapRunCount = 0;
const fakeEnsure = (() => {
let _promise = null;
return () => {
if (!_promise) {
_promise = (async () => {
bootstrapRunCount++;
await new Promise(resolve => setTimeout(resolve, 10));
})();
}
return _promise;
};
})();
await Promise.all([fakeEnsure(), fakeEnsure(), fakeEnsure()]);
assert.equal(bootstrapRunCount, 1, 'bootstrap must only run once even with concurrent calls');
});