diff --git a/apps/web/playwright/lib/testUtils.ts b/apps/web/playwright/lib/testUtils.ts index 2b5b199e61..7d9b98cbaf 100644 --- a/apps/web/playwright/lib/testUtils.ts +++ b/apps/web/playwright/lib/testUtils.ts @@ -45,9 +45,11 @@ export function createHttpServer(opts: { requestHandler?: RequestHandler } = {}) const eventEmitter = new EventEmitter(); const requestList: Request[] = []; - const waitForRequestCount = (count: number) => - new Promise((resolve) => { + const waitForRequestCount = (count: number) => { + let resolved = false; + return new Promise((resolve, reject) => { if (requestList.length === count) { + resolved = true; resolve(); return; } @@ -57,11 +59,18 @@ export function createHttpServer(opts: { requestHandler?: RequestHandler } = {}) return; } eventEmitter.off("push", pushHandler); + resolved = true; resolve(); }; eventEmitter.on("push", pushHandler); + setTimeout(() => { + if (resolved) return; + // Timeout after 5 seconds + reject(new Error("Timeout waiting for webhook")); + }, 5000); }); + }; const server = createServer((req, res) => { const buffer: unknown[] = [];