From c3528fb20177eb1af13cc459ab22deecb2e9b90c Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sun, 14 Dec 2025 05:35:48 +0000 Subject: [PATCH] test(web): stabilize group heartbeat test --- src/web/auto-reply.test.ts | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/src/web/auto-reply.test.ts b/src/web/auto-reply.test.ts index 2aff77c0b..29af09a5c 100644 --- a/src/web/auto-reply.test.ts +++ b/src/web/auto-reply.test.ts @@ -817,15 +817,24 @@ describe("web auto-reply", () => { ).toBe(false); requestReplyHeartbeatNow({ coalesceMs: 0 }); - await new Promise((resolve) => setTimeout(resolve, 10)); - controller.abort(); - await run; - - const heartbeatCall = replyResolver.mock.calls.find( + let heartbeatCall = replyResolver.mock.calls.find( (call) => call[0]?.Body === HEARTBEAT_PROMPT && call[0]?.MessageSid === "sid-main", ); + const deadline = Date.now() + 1000; + while (!heartbeatCall && Date.now() < deadline) { + await new Promise((resolve) => setTimeout(resolve, 10)); + heartbeatCall = replyResolver.mock.calls.find( + (call) => + call[0]?.Body === HEARTBEAT_PROMPT && + call[0]?.MessageSid === "sid-main", + ); + } + controller.abort(); + await run; + + expect(heartbeatCall).toBeDefined(); expect(heartbeatCall?.[0]?.From).toBe("+1555"); expect(heartbeatCall?.[0]?.To).toBe("+1555"); expect(heartbeatCall?.[0]?.MessageSid).toBe("sid-main");