From dd5fd3805bb049ca1ce06d833274ac9038036b8a Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Tue, 12 May 2026 03:45:22 +0100 Subject: [PATCH] test: guard cron fast-mode mock calls --- src/cron/isolated-agent/run.fast-mode.test.ts | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/cron/isolated-agent/run.fast-mode.test.ts b/src/cron/isolated-agent/run.fast-mode.test.ts index 12214b1487d..59f8a0995e6 100644 --- a/src/cron/isolated-agent/run.fast-mode.test.ts +++ b/src/cron/isolated-agent/run.fast-mode.test.ts @@ -34,6 +34,14 @@ function mockSuccessfulModelFallback() { }); } +function requireFirstMockCall(mock: { mock: { calls: T[][] } }, label: string): T[] { + const call = mock.mock.calls.at(0); + if (!call) { + throw new Error(`expected ${label} call`); + } + return call; +} + async function runFastModeCase(params: { configFastMode: boolean; expectedFastMode: boolean; @@ -96,7 +104,7 @@ async function runFastModeCase(params: { expect(result.status).toBe("ok"); expect(runEmbeddedPiAgentMock).toHaveBeenCalledOnce(); - const [embeddedRunParams] = runEmbeddedPiAgentMock.mock.calls[0]; + const [embeddedRunParams] = requireFirstMockCall(runEmbeddedPiAgentMock, "embedded run"); expect(embeddedRunParams.provider).toBe("openai"); expect(embeddedRunParams.model).toBe(EXPECTED_OPENAI_MODEL); expect(embeddedRunParams.fastMode).toBe(params.expectedFastMode); @@ -106,7 +114,10 @@ async function runFastModeCase(params: { expect(embeddedRunParams.allowGatewaySubagentBinding).toBe(true); if (params.expectedRetiredSessionId) { expect(retireSessionMcpRuntimeMock).toHaveBeenCalledOnce(); - const [retireParams] = retireSessionMcpRuntimeMock.mock.calls[0]; + const [retireParams] = requireFirstMockCall( + retireSessionMcpRuntimeMock, + "retire session mcp runtime", + ); expect(retireParams.sessionId).toBe(params.expectedRetiredSessionId); expect(retireParams.reason).toBe("cron-session-rollover"); return;