test: split tool card block checks

This commit is contained in:
Shakker
2026-05-12 15:56:38 +01:00
parent 44de39a1df
commit c423ef2e34

View File

@@ -53,10 +53,14 @@ describe("tool-cards", () => {
container,
);
expect(container.textContent).toContain("Tool input");
expect(container.textContent).toContain("Tool output");
expect(container.textContent).toContain("https://example.com");
expect(container.textContent).toContain("Opened page");
const blocks = Array.from(container.querySelectorAll(".chat-tool-card__block"));
expect(
blocks.map((block) => block.querySelector(".chat-tool-card__block-label")?.textContent),
).toEqual(["Tool input", "Tool output"]);
expect(blocks.map((block) => block.querySelector("code")?.textContent)).toEqual([
'{\n "url": "https://example.com"\n}',
"Opened page",
]);
});
it("renders expanded tool calls without an inline output block when no output is present", () => {
@@ -74,10 +78,14 @@ describe("tool-cards", () => {
container,
);
expect(container.textContent).toContain("Tool input");
expect(container.textContent).toContain('"thread": true');
expect(container.textContent).not.toContain("Tool output");
expect(container.textContent).not.toContain("No output");
const blocks = Array.from(container.querySelectorAll(".chat-tool-card__block"));
expect(
blocks.map((block) => block.querySelector(".chat-tool-card__block-label")?.textContent),
).toEqual(["Tool input"]);
expect(blocks[0]?.querySelector("code")?.textContent).toBe(
'{\n "mode": "session",\n "thread": true\n}',
);
expect(container.querySelector(".chat-tool-card__block-empty")).toBeNull();
});
it("labels collapsed tool calls with the display summary", () => {
@@ -95,10 +103,12 @@ describe("tool-cards", () => {
container,
);
expect(container.textContent).toContain("Sessions Spawn");
expect(container.textContent).not.toContain("Tool input");
const summaryButton = container.querySelector("button.chat-tool-msg-summary");
expect(summaryButton?.querySelector(".chat-tool-msg-summary__label")?.textContent).toBe(
"Sessions Spawn",
);
expect(summaryButton?.getAttribute("aria-expanded")).toBe("false");
expect(container.querySelector(".chat-tool-msg-body")).toBeNull();
});
it("keeps raw details for legacy canvas tool output without rendering tool-row previews", () => {