diff --git a/src/agents/subagent-registry-lifecycle.test.ts b/src/agents/subagent-registry-lifecycle.test.ts index 18ae4daa051..92ec0199330 100644 --- a/src/agents/subagent-registry-lifecycle.test.ts +++ b/src/agents/subagent-registry-lifecycle.test.ts @@ -114,8 +114,16 @@ function expectFields(value: unknown, expected: Record): void { } } +function firstCall(mock: ReturnType): ReadonlyArray { + const call = mock.mock.calls[0]; + if (!call) { + throw new Error("expected first mock call"); + } + return call; +} + function firstCallArg(mock: ReturnType): Record { - const [arg] = mock.mock.calls.at(0) ?? []; + const [arg] = firstCall(mock); if (!arg || typeof arg !== "object") { throw new Error("expected first call argument object"); } @@ -206,8 +214,9 @@ describe("subagent registry lifecycle hardening", () => { ).resolves.toBeUndefined(); expect(warn).toHaveBeenCalledTimes(1); - expect(warn.mock.calls.at(0)?.[0]).toBe("failed to finalize subagent background task state"); - expectFields(warn.mock.calls.at(0)?.[1], { + const [warning, warningFields] = firstCall(warn); + expect(warning).toBe("failed to finalize subagent background task state"); + expectFields(warningFields, { error: { name: "Error", message: "task store boom" }, runId: "***", childSessionKey: "agent:main:…", @@ -250,10 +259,9 @@ describe("subagent registry lifecycle hardening", () => { ).resolves.toBeUndefined(); expect(warn).toHaveBeenCalledTimes(1); - expect(warn.mock.calls.at(0)?.[0]).toBe( - "failed to update subagent background task delivery state", - ); - expectFields(warn.mock.calls.at(0)?.[1], { + const [warning, warningFields] = firstCall(warn); + expect(warning).toBe("failed to update subagent background task delivery state"); + expectFields(warningFields, { error: { name: "Error", message: "delivery state boom" }, runId: "***", childSessionKey: "agent:main:…", @@ -677,10 +685,9 @@ describe("subagent registry lifecycle hardening", () => { ).resolves.toBeUndefined(); expect(warn).toHaveBeenCalledTimes(1); - expect(warn.mock.calls.at(0)?.[0]).toBe( - "failed to update subagent background task delivery state", - ); - expectFields(warn.mock.calls.at(0)?.[1], { + const [warning, warningFields] = firstCall(warn); + expect(warning).toBe("failed to update subagent background task delivery state"); + expectFields(warningFields, { error: { name: "Error", message: "delivery status boom" }, deliveryStatus: "delivered", });