From 6f4bc797ea114acac476528e514684f671f799f6 Mon Sep 17 00:00:00 2001 From: OpenClaw Contributor Date: Mon, 16 Mar 2026 20:58:08 +0000 Subject: [PATCH] test(ui): update loadChatHistory tests for limit 25 and chatHistoryTruncated Made-with: Cursor --- ui/src/ui/controllers/chat.test.ts | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/ui/src/ui/controllers/chat.test.ts b/ui/src/ui/controllers/chat.test.ts index ba102fe0919..3640afce5ad 100644 --- a/ui/src/ui/controllers/chat.test.ts +++ b/ui/src/ui/controllers/chat.test.ts @@ -620,14 +620,35 @@ describe("loadChatHistory", () => { expect(request).toHaveBeenCalledWith("chat.history", { sessionKey: "main", - limit: 200, + limit: 25, }); expect(state.chatMessages).toEqual([ { role: "assistant", content: [{ type: "text", text: "visible answer" }] }, { role: "user", content: [{ type: "text", text: "NO_REPLY" }] }, ]); expect(state.chatThinkingLevel).toBe("low"); + expect(state.chatHistoryTruncated).toBe(false); expect(state.chatLoading).toBe(false); expect(state.lastError).toBeNull(); }); + + it("sets chatHistoryTruncated when response has at least request limit", async () => { + const messages = Array.from({ length: 25 }, (_, i) => ({ + role: "user", + content: [{ type: "text", text: `msg ${i}` }], + })); + const request = vi.fn().mockResolvedValue({ + messages, + thinkingLevel: null, + }); + const state = createState({ + connected: true, + client: { request } as unknown as ChatState["client"], + }); + + await loadChatHistory(state); + + expect(state.chatMessages).toHaveLength(25); + expect(state.chatHistoryTruncated).toBe(true); + }); });