events-backend: more reliable timeout test

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
This commit is contained in:
Patrik Oldsberg
2024-05-27 18:23:41 +02:00
parent 2c9ea899c7
commit 0de66764e4
@@ -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();
}