From 5bfd20e2dd6445e7b6739cb83404b7f08632ca76 Mon Sep 17 00:00:00 2001 From: Alfonso Noriega Date: Wed, 17 Jun 2026 14:36:10 +0200 Subject: [PATCH] Use vi.waitFor in app event watcher test Assisted-By: devx/aa6f2838-a296-4af6-ae5b-25654e978e0a --- .../dev/app-events/app-event-watcher.test.ts | 24 +++++++------------ 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/packages/app/src/cli/services/dev/app-events/app-event-watcher.test.ts b/packages/app/src/cli/services/dev/app-events/app-event-watcher.test.ts index 93364949b11..207dc94a4b0 100644 --- a/packages/app/src/cli/services/dev/app-events/app-event-watcher.test.ts +++ b/packages/app/src/cli/services/dev/app-events/app-event-watcher.test.ts @@ -383,23 +383,17 @@ describe('app-event-watcher', () => { await flushPromises() - // Wait until emitSpy has been called at least once - // We need this because there are I/O operations that make the test finish before the event is emitted - await new Promise((resolve, reject) => { - const initialTime = Date.now() - const checkEmitSpy = () => { + // Wait until emitSpy has been called at least once. + // We need this because there are I/O operations that make the test finish before the event is emitted. + await vi.waitFor( + () => { const allCalled = emitSpy.mock.calls.some((call) => call[0] === 'all') const readyCalled = emitSpy.mock.calls.some((call) => call[0] === 'ready') - if (allCalled && readyCalled) { - resolve() - } else if (Date.now() - initialTime < 3000) { - setTimeout(checkEmitSpy, 100) - } else { - reject(new Error('Timeout waiting for emitSpy to be called')) - } - } - checkEmitSpy() - }) + expect(allCalled).toBe(true) + expect(readyCalled).toBe(true) + }, + {timeout: 3000, interval: 100}, + ) expect(emitSpy).toHaveBeenCalledWith('all', { app: expect.objectContaining({realExtensions: finalExtensions}),