diff --git a/ui/src/ui/controllers/agents.test.ts b/ui/src/ui/controllers/agents.test.ts index ba4f85fb561e..a1befd392176 100644 --- a/ui/src/ui/controllers/agents.test.ts +++ b/ui/src/ui/controllers/agents.test.ts @@ -81,6 +81,21 @@ function createSaveState(): { }; } +function requireRecord(value: unknown): Record { + if (!value || typeof value !== "object" || Array.isArray(value)) { + throw new Error("Expected a non-array record"); + } + return value as Record; +} + +function requireFirstRequestCall(request: ReturnType): unknown[] { + const [call] = request.mock.calls; + if (!call) { + throw new Error("Expected client request call"); + } + return call; +} + describe("loadAgents", () => { it("preserves selected agent when it still exists in the list", async () => { const { state, request } = createState(); @@ -371,9 +386,11 @@ describe("saveAgentsConfig", () => { await saveAgentsConfig(state); - expect(request.mock.calls[0]?.[0]).toBe("config.set"); - expect(request.mock.calls[0]?.[1]?.baseHash).toBe("hash-1"); - expect(JSON.parse(request.mock.calls[0]?.[1]?.raw as string)).toEqual({ + const [method, params] = requireFirstRequestCall(request); + const requestParams = requireRecord(params); + expect(method).toBe("config.set"); + expect(requestParams.baseHash).toBe("hash-1"); + expect(JSON.parse(String(requestParams.raw))).toEqual({ agents: { list: [{ id: "main" }] }, }); expect(request).toHaveBeenNthCalledWith(2, "config.get", {}); diff --git a/ui/src/ui/controllers/chat.test.ts b/ui/src/ui/controllers/chat.test.ts index cad0b5acb588..270d2ff113a4 100644 --- a/ui/src/ui/controllers/chat.test.ts +++ b/ui/src/ui/controllers/chat.test.ts @@ -58,6 +58,14 @@ function requireRecord(value: unknown): Record { return value as Record; } +function requireFirstRequestCall(request: ReturnType): unknown[] { + const [call] = request.mock.calls; + if (!call) { + throw new Error("Expected client request call"); + } + return call; +} + function expectTextChatMessage(message: unknown, role: string, text: string): void { const record = requireRecord(message); expect(record.role).toBe(role); @@ -901,8 +909,9 @@ describe("sendChatMessage", () => { expect(result).toMatch(UUID_V4_RE); expect(request).toHaveBeenCalledTimes(1); - expect(request.mock.calls[0]?.[0]).toBe("chat.send"); - const sendParams = requireRecord(request.mock.calls[0]?.[1]); + const [requestMethod, requestParams] = requireFirstRequestCall(request); + expect(requestMethod).toBe("chat.send"); + const sendParams = requireRecord(requestParams); expect(sendParams.message).toBe("summarize"); expect(sendParams.attachments).toEqual([ { @@ -950,8 +959,9 @@ describe("sendChatMessage", () => { expect(result).toMatch(UUID_V4_RE); expect(request).toHaveBeenCalledTimes(1); - expect(request.mock.calls[0]?.[0]).toBe("chat.send"); - const sendParams = requireRecord(request.mock.calls[0]?.[1]); + const [requestMethod, requestParams] = requireFirstRequestCall(request); + expect(requestMethod).toBe("chat.send"); + const sendParams = requireRecord(requestParams); const attachments = sendParams.attachments; expect(Array.isArray(attachments)).toBe(true); const [attachmentParam] = attachments as unknown[];