From e78d0d505d09403a2f08027ef3668cab0d7f6b4b Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Tue, 12 May 2026 08:47:32 +0100 Subject: [PATCH] test: guard agent cli mock calls --- .../cli-runner.before-agent-reply-cron.test.ts | 2 +- src/agents/cli-runner.helpers.test.ts | 2 +- src/agents/cli-runner.reliability.test.ts | 2 +- .../compaction.identifier-preservation.test.ts | 2 +- src/agents/context.lookup.test.ts | 14 +++++++++----- 5 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/agents/cli-runner.before-agent-reply-cron.test.ts b/src/agents/cli-runner.before-agent-reply-cron.test.ts index fb24b1c5178..8f00087a5de 100644 --- a/src/agents/cli-runner.before-agent-reply-cron.test.ts +++ b/src/agents/cli-runner.before-agent-reply-cron.test.ts @@ -118,7 +118,7 @@ describe("runCliAgent cron before_agent_reply seam", () => { const result = await runCliAgent({ ...baseRunParams, trigger: "cron", jobId: "cron-job-123" }); expect(runBeforeAgentReplyMock).toHaveBeenCalledTimes(1); - const [event, context] = runBeforeAgentReplyMock.mock.calls[0] ?? []; + const [event, context] = runBeforeAgentReplyMock.mock.calls.at(0) ?? []; expect(event).toEqual({ cleanedBody: baseRunParams.prompt }); const hookContext = context as Record | undefined; expect(hookContext?.jobId).toBe("cron-job-123"); diff --git a/src/agents/cli-runner.helpers.test.ts b/src/agents/cli-runner.helpers.test.ts index 4b471242f5d..85f4a8f7622 100644 --- a/src/agents/cli-runner.helpers.test.ts +++ b/src/agents/cli-runner.helpers.test.ts @@ -68,7 +68,7 @@ describe("loadPromptRefImages", () => { sandbox, }); - const [ref, workspaceDir, options] = loadImageFromRefSpy.mock.calls[0] ?? []; + const [ref, workspaceDir, options] = loadImageFromRefSpy.mock.calls.at(0) ?? []; expect(ref?.resolved).toBe("/tmp/photo.png"); expect(ref?.type).toBe("path"); expect(workspaceDir).toBe("/workspace"); diff --git a/src/agents/cli-runner.reliability.test.ts b/src/agents/cli-runner.reliability.test.ts index ec263beb787..c36e07070da 100644 --- a/src/agents/cli-runner.reliability.test.ts +++ b/src/agents/cli-runner.reliability.test.ts @@ -290,7 +290,7 @@ describe("runCliAgent reliability", () => { ).rejects.toThrow("produced no output"); expect(enqueueSystemEventMock).toHaveBeenCalledTimes(1); - const [notice, opts] = enqueueSystemEventMock.mock.calls[0] ?? []; + const [notice, opts] = enqueueSystemEventMock.mock.calls.at(0) ?? []; expect(String(notice)).toContain("produced no output"); expect(String(notice)).toContain("interactive input or an approval prompt"); expect(requireRecord(opts, "system event options").sessionKey).toBe("agent:main:main"); diff --git a/src/agents/compaction.identifier-preservation.test.ts b/src/agents/compaction.identifier-preservation.test.ts index e6fde215e34..d44c0dc83f6 100644 --- a/src/agents/compaction.identifier-preservation.test.ts +++ b/src/agents/compaction.identifier-preservation.test.ts @@ -58,7 +58,7 @@ describe("compaction identifier-preservation instructions", () => { } function firstSummaryInstructions() { - return extractSummaryInstructions(mockGenerateSummary.mock.calls[0]); + return extractSummaryInstructions(mockGenerateSummary.mock.calls.at(0)); } it("injects identifier-preservation guidance even without custom instructions", async () => { diff --git a/src/agents/context.lookup.test.ts b/src/agents/context.lookup.test.ts index cae27d9fb5b..61c15c27ef7 100644 --- a/src/agents/context.lookup.test.ts +++ b/src/agents/context.lookup.test.ts @@ -299,13 +299,17 @@ describe("lookupContextTokens", () => { await flushAsyncWarmup(); expect(contextTestState.discoverModels).toHaveBeenCalledTimes(1); - const discoverCall = contextTestState.discoverModels.mock.calls[0]; - expect(discoverCall?.[0]).toEqual({}); - expect(typeof discoverCall?.[1]).toBe("string"); + const discoverCall = contextTestState.discoverModels.mock.calls.at(0); + if (!discoverCall) { + throw new Error("expected discoverModels to be called"); + } + const discoverAgentDir = discoverCall[1]; + expect(discoverCall[0]).toEqual({}); + expect(typeof discoverAgentDir).toBe("string"); expect( - path.normalize(discoverCall?.[1]).endsWith(path.join(".openclaw", "agents", "main", "agent")), + path.normalize(discoverAgentDir).endsWith(path.join(".openclaw", "agents", "main", "agent")), ).toBe(true); - expect(discoverCall?.[2]).toEqual({ normalizeModels: false }); + expect(discoverCall[2]).toEqual({ normalizeModels: false }); expect(lookupContextTokens("anthropic/claude-opus-4.7-20260219")).toBe(1_048_576); });