mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-18 18:34:46 +00:00
test: dedupe pi message handler mock reads
This commit is contained in:
@@ -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");
|
||||
|
||||
Reference in New Issue
Block a user