From 0de66764e4072055524d6e99ada8c1c9121a2b5c Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Mon, 27 May 2024 18:23:41 +0200 Subject: [PATCH] events-backend: more reliable timeout test Signed-off-by: Patrik Oldsberg --- .../events-backend/src/service/EventsPlugin.test.ts | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/plugins/events-backend/src/service/EventsPlugin.test.ts b/plugins/events-backend/src/service/EventsPlugin.test.ts index 53f84ffed1..18b994bff9 100644 --- a/plugins/events-backend/src/service/EventsPlugin.test.ts +++ b/plugins/events-backend/src/service/EventsPlugin.test.ts @@ -396,19 +396,21 @@ describe('eventsPlugin', () => { expect(res.status).toBe(202); const { closed } = res.body!.getReader(); - const checkClosed = () => + const checkNotClosed = () => Promise.race([ - closed.then(() => true), + closed.then(() => { + throw new Error('Closed'); + }), new Promise(r => process.nextTick(() => r(false))), ]); - await expect(checkClosed()).resolves.toBe(false); + await expect(checkNotClosed()).resolves.toBe(false); await jest.advanceTimersByTimeAsync(30000); - await expect(checkClosed()).resolves.toBe(false); + await expect(checkNotClosed()).resolves.toBe(false); await jest.advanceTimersByTimeAsync(30000); - await expect(checkClosed()).resolves.toBe(true); + await closed; } finally { jest.useRealTimers(); }