diff --git a/src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.emits-reasoning-as-separate-message-enabled.test.ts b/src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.emits-reasoning-as-separate-message-enabled.test.ts index 19682c1f6fb..20afa1c4544 100644 --- a/src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.emits-reasoning-as-separate-message-enabled.test.ts +++ b/src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.emits-reasoning-as-separate-message-enabled.test.ts @@ -24,10 +24,18 @@ describe("subscribeEmbeddedPiSession", () => { return { emit, onBlockReply }; } + function blockReplyTextAt(onBlockReply: ReturnType, callIndex: number): string { + const call = onBlockReply.mock.calls[callIndex]; + if (!call) { + throw new Error(`expected block reply call ${callIndex + 1}`); + } + return (call[0] as { text?: string }).text ?? ""; + } + function expectReasoningAndAnswerCalls(onBlockReply: ReturnType) { expect(onBlockReply).toHaveBeenCalledTimes(2); - expect(onBlockReply.mock.calls.at(0)?.[0].text).toBe("Because it helps"); - expect(onBlockReply.mock.calls.at(1)?.[0].text).toBe("Final answer"); + expect(blockReplyTextAt(onBlockReply, 0)).toBe("Because it helps"); + expect(blockReplyTextAt(onBlockReply, 1)).toBe("Final answer"); } it("emits reasoning as a separate message when enabled", () => { @@ -46,7 +54,7 @@ describe("subscribeEmbeddedPiSession", () => { emit({ type: "message_end", message: createReasoningFinalAnswerMessage() }); expect(onBlockReply).toHaveBeenCalledTimes(1); - expect(onBlockReply.mock.calls.at(0)?.[0].text).toBe("Final answer"); + expect(blockReplyTextAt(onBlockReply, 0)).toBe("Final answer"); }); it.each(THINKING_TAG_CASES)(