test: dedupe pi message handler mock reads

This commit is contained in:
Peter Steinberger
2026-05-12 21:35:09 +01:00
parent 97a991d037
commit 9cdb59ec4f

View File

@@ -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");