From 9cdb59ec4f5f1e981982930ff06d8307127d1219 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Tue, 12 May 2026 21:35:09 +0100 Subject: [PATCH] test: dedupe pi message handler mock reads --- ...mbedded-subscribe.handlers.messages.test.ts | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/agents/pi-embedded-subscribe.handlers.messages.test.ts b/src/agents/pi-embedded-subscribe.handlers.messages.test.ts index 20bfccd67b8..cda97369df4 100644 --- a/src/agents/pi-embedded-subscribe.handlers.messages.test.ts +++ b/src/agents/pi-embedded-subscribe.handlers.messages.test.ts @@ -137,6 +137,18 @@ function createMessageEndContext( } as unknown as EmbeddedPiSubscribeContext; } +function firstMockCall(mock: { mock: { calls: unknown[][] } }, label: string): unknown[] { + const call = mock.mock.calls[0]; + if (!call) { + throw new Error(`Expected ${label} to be called`); + } + return call; +} + +function firstMockArg(mock: { mock: { calls: unknown[][] } }, label: string): unknown { + return firstMockCall(mock, label)[0]; +} + describe("resolveSilentReplyFallbackText", () => { it("replaces NO_REPLY with latest messaging tool text when available", () => { expect( @@ -584,7 +596,7 @@ describe("handleMessageUpdate commentary phase", () => { ); expect(onAgentEvent).toHaveBeenCalledTimes(1); - const event = onAgentEvent.mock.calls.at(0)?.[0] as + const event = firstMockArg(onAgentEvent, "agent event") as | { stream?: string; data?: { text?: string; delta?: string } } | undefined; expect(event?.stream).toBe("assistant"); @@ -629,7 +641,7 @@ describe("handleMessageEnd", () => { }, } as never); - const warnCall = warn.mock.calls.at(0); + const warnCall = firstMockCall(warn, "warning log"); expect(warnCall?.[0]).toBe( "Assistant reply looks like a tool call, but no structured tool invocation was emitted; treating it as text.", ); @@ -839,7 +851,7 @@ describe("handleMessageEnd", () => { } as never); expect(onAgentEvent).toHaveBeenCalledTimes(1); - const event = onAgentEvent.mock.calls.at(0)?.[0] as + const event = firstMockArg(onAgentEvent, "agent event") as | { stream?: string; data?: { text?: string; delta?: string; replace?: boolean } } | undefined; expect(event?.stream).toBe("assistant");