mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-26 15:25:17 +00:00
test: split tool card block checks
This commit is contained in:
@@ -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", () => {
|
||||
|
||||
Reference in New Issue
Block a user