From 4dd999274b7af34d1e0e89ec3778ffc9bb1292fa Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Fri, 17 Apr 2026 19:51:43 +0100 Subject: [PATCH] test: merge chat helper render tests --- ui/src/ui/chat/context-notice.test.ts | 52 +++++++++++++++++++++- ui/src/ui/chat/side-result-render.test.ts | 54 ----------------------- 2 files changed, 51 insertions(+), 55 deletions(-) delete mode 100644 ui/src/ui/chat/side-result-render.test.ts diff --git a/ui/src/ui/chat/context-notice.test.ts b/ui/src/ui/chat/context-notice.test.ts index 8e5ccff7780..c5a77100155 100644 --- a/ui/src/ui/chat/context-notice.test.ts +++ b/ui/src/ui/chat/context-notice.test.ts @@ -1,13 +1,14 @@ /* @vitest-environment jsdom */ import { render } from "lit"; -import { afterEach, describe, expect, it } from "vitest"; +import { afterEach, describe, expect, it, vi } from "vitest"; import type { GatewaySessionRow } from "../types.ts"; import { getContextNoticeViewModel, renderContextNotice, resetContextNoticeThemeCacheForTest, } from "./context-notice.ts"; +import { renderSideResult } from "./side-result-render.ts"; describe("context notice", () => { afterEach(() => { @@ -90,3 +91,52 @@ describe("context notice", () => { ).toBeNull(); }); }); + +describe("side result render", () => { + it("renders, dismisses, and styles BTW side results outside transcript history", () => { + const container = document.createElement("div"); + const onDismissSideResult = vi.fn(); + + render( + renderSideResult( + { + kind: "btw", + runId: "btw-run-1", + sessionKey: "main", + question: "what changed?", + text: "The web UI now renders **BTW** separately.", + isError: false, + ts: 2, + }, + onDismissSideResult, + ), + container, + ); + + expect(container.querySelector(".chat-side-result")).not.toBeNull(); + expect(container.textContent).toContain("BTW"); + expect(container.textContent).toContain("what changed?"); + expect(container.textContent).toContain("Not saved to chat history"); + expect(container.querySelectorAll(".chat-side-result")).toHaveLength(1); + + const button = container.querySelector(".chat-side-result__dismiss"); + expect(button).not.toBeNull(); + button?.click(); + expect(onDismissSideResult).toHaveBeenCalledTimes(1); + + render( + renderSideResult({ + kind: "btw", + runId: "btw-run-3", + sessionKey: "main", + question: "what failed?", + text: "The side question could not be answered.", + isError: true, + ts: 4, + }), + container, + ); + + expect(container.querySelector(".chat-side-result--error")).not.toBeNull(); + }); +}); diff --git a/ui/src/ui/chat/side-result-render.test.ts b/ui/src/ui/chat/side-result-render.test.ts deleted file mode 100644 index 0764035f298..00000000000 --- a/ui/src/ui/chat/side-result-render.test.ts +++ /dev/null @@ -1,54 +0,0 @@ -/* @vitest-environment jsdom */ - -import { render } from "lit"; -import { describe, expect, it, vi } from "vitest"; -import { renderSideResult } from "./side-result-render.ts"; - -describe("side result render", () => { - it("renders, dismisses, and styles BTW side results outside transcript history", () => { - const container = document.createElement("div"); - const onDismissSideResult = vi.fn(); - - render( - renderSideResult( - { - kind: "btw", - runId: "btw-run-1", - sessionKey: "main", - question: "what changed?", - text: "The web UI now renders **BTW** separately.", - isError: false, - ts: 2, - }, - onDismissSideResult, - ), - container, - ); - - expect(container.querySelector(".chat-side-result")).not.toBeNull(); - expect(container.textContent).toContain("BTW"); - expect(container.textContent).toContain("what changed?"); - expect(container.textContent).toContain("Not saved to chat history"); - expect(container.querySelectorAll(".chat-side-result")).toHaveLength(1); - - const button = container.querySelector(".chat-side-result__dismiss"); - expect(button).not.toBeNull(); - button?.click(); - expect(onDismissSideResult).toHaveBeenCalledTimes(1); - - render( - renderSideResult({ - kind: "btw", - runId: "btw-run-3", - sessionKey: "main", - question: "what failed?", - text: "The side question could not be answered.", - isError: true, - ts: 4, - }), - container, - ); - - expect(container.querySelector(".chat-side-result--error")).not.toBeNull(); - }); -});