From 565e71da98ab0f97b4a90de1560ec6db379eb2c7 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sat, 9 May 2026 15:51:57 +0100 Subject: [PATCH] test: tighten agent tool log assertions --- src/agents/tool-images.log.test.ts | 6 ++--- src/agents/tools/agent-step.test.ts | 42 ++++++++++++++++------------- 2 files changed, 26 insertions(+), 22 deletions(-) diff --git a/src/agents/tool-images.log.test.ts b/src/agents/tool-images.log.test.ts index 183df912861..479d598972f 100644 --- a/src/agents/tool-images.log.test.ts +++ b/src/agents/tool-images.log.test.ts @@ -54,7 +54,7 @@ describe("tool-images log context", () => { ]; await sanitizeContentBlocksImages(blocks, "nodes:camera_snap"); const messages = infoMock.mock.calls.map((call) => String(call[0] ?? "")); - expect(messages).toEqual(expect.arrayContaining([expect.stringContaining("camera-front.png")])); + expect(messages.some((message) => message.includes("camera-front.png"))).toBe(true); }); it("includes filename from read label", async () => { @@ -63,8 +63,6 @@ describe("tool-images log context", () => { ]; await sanitizeContentBlocksImages(blocks, "read:/tmp/images/sample-diagram.png"); const messages = infoMock.mock.calls.map((call) => String(call[0] ?? "")); - expect(messages).toEqual( - expect.arrayContaining([expect.stringContaining("sample-diagram.png")]), - ); + expect(messages.some((message) => message.includes("sample-diagram.png"))).toBe(true); }); }); diff --git a/src/agents/tools/agent-step.test.ts b/src/agents/tools/agent-step.test.ts index 1fe346d843c..0a4eccde647 100644 --- a/src/agents/tools/agent-step.test.ts +++ b/src/agents/tools/agent-step.test.ts @@ -47,18 +47,23 @@ describe("runAgentStep", () => { }), ).resolves.toBe("done"); - expect(gatewayCalls[0]?.params).toMatchObject({ - message: expect.stringContaining("[Inter-session message"), - sessionKey: "agent:main:subagent:child", - deliver: false, - lane: "nested:agent:main:subagent:child", - inputProvenance: { - kind: "inter_session", - sourceTool: "sessions_send", - }, - }); - expect((gatewayCalls[0]?.params as { message?: string })?.message).toContain("isUser=false"); - expect((gatewayCalls[0]?.params as { message?: string })?.message).toContain("hello"); + const params = gatewayCalls[0]?.params as + | { + message?: string; + sessionKey?: string; + deliver?: boolean; + lane?: string; + inputProvenance?: { kind?: string; sourceTool?: string }; + } + | undefined; + expect(params?.message).toContain("[Inter-session message"); + expect(params?.sessionKey).toBe("agent:main:subagent:child"); + expect(params?.deliver).toBe(false); + expect(params?.lane).toBe("nested:agent:main:subagent:child"); + expect(params?.inputProvenance?.kind).toBe("inter_session"); + expect(params?.inputProvenance?.sourceTool).toBe("sessions_send"); + expect(params?.message).toContain("isUser=false"); + expect(params?.message).toContain("hello"); expect(bundleMcpRuntimeMocks.retireSessionMcpRuntimeForSessionKey).toHaveBeenCalledWith({ sessionKey: "agent:main:subagent:child", reason: "nested-agent-step-complete", @@ -112,11 +117,12 @@ describe("runAgentStep", () => { }); expect(gatewayCalls).toStrictEqual([]); - expect(agentCommandFromIngress).toHaveBeenCalledWith( - expect.objectContaining({ - message: expect.stringContaining("internal announce step"), - transcriptMessage: "", - }), - ); + expect(agentCommandFromIngress).toHaveBeenCalledTimes(1); + const ingressCalls = agentCommandFromIngress.mock.calls as unknown as Array< + [{ message?: string; transcriptMessage?: string }] + >; + const ingress = ingressCalls[0]?.[0]; + expect(ingress?.message).toContain("internal announce step"); + expect(ingress?.transcriptMessage).toBe(""); }); });