diff --git a/plugins/scaffolder-backend/src/scaffolder/tasks/StorageTaskBroker.test.ts b/plugins/scaffolder-backend/src/scaffolder/tasks/StorageTaskBroker.test.ts index 4fc142a991..421afb2329 100644 --- a/plugins/scaffolder-backend/src/scaffolder/tasks/StorageTaskBroker.test.ts +++ b/plugins/scaffolder-backend/src/scaffolder/tasks/StorageTaskBroker.test.ts @@ -126,12 +126,15 @@ describe('StorageTaskBroker', () => { const logPromise = new Promise(resolve => { const observedEvents = new Array(); - broker2.event$({ taskId, after: undefined }).subscribe(({ events }) => { - observedEvents.push(...events); - if (events.some(e => e.type === 'completion')) { - resolve(observedEvents); - } - }); + const subscription = broker2 + .event$({ taskId, after: undefined }) + .subscribe(({ events }) => { + observedEvents.push(...events); + if (events.some(e => e.type === 'completion')) { + resolve(observedEvents); + subscription.unsubscribe(); + } + }); }); const task = await broker1.claim(); await task.emitLog('log 1'); @@ -148,11 +151,12 @@ describe('StorageTaskBroker', () => { ]); const afterLogs = await new Promise(resolve => { - broker2 + const subscription = broker2 .event$({ taskId, after: logs[1].id }) - .subscribe(({ events }) => - resolve(events.map(e => e.body.message as string)), - ); + .subscribe(({ events }) => { + resolve(events.map(e => e.body.message as string)); + subscription.unsubscribe(); + }); }); expect(afterLogs).toEqual([ 'log 3',