diff --git a/src/acp/translator.permission-relay.test.ts b/src/acp/translator.permission-relay.test.ts index a659dd31697..3282711d1ac 100644 --- a/src/acp/translator.permission-relay.test.ts +++ b/src/acp/translator.permission-relay.test.ts @@ -139,6 +139,15 @@ function approvalResolveCalls(request: ReturnType) { return request.mock.calls.filter(([method]) => method === "exec.approval.resolve"); } +function hasApprovalRelay(agent: AcpGatewayAgent, approvalId: string): boolean { + const relayMap = ( + agent as unknown as { + approvalRelays: Map; + } + ).approvalRelays; + return relayMap.has(approvalId); +} + function requireRecord(value: unknown): Record { expect(value).toBeTruthy(); expect(typeof value).toBe("object"); @@ -319,7 +328,9 @@ describe("ACP translator permission relay", () => { expect(harness.requestPermission).toHaveBeenCalledTimes(1); expect(resolveApproval).toHaveBeenCalledTimes(1); }); - await new Promise((resolve) => setTimeout(resolve, 0)); + await vi.waitFor(() => { + expect(hasApprovalRelay(harness.agent, "approval-retry")).toBe(false); + }); await harness.agent.handleGatewayEvent(event);