From 9b3b6566716bc8de4da6d06a875427068972e69e Mon Sep 17 00:00:00 2001 From: Ishaan Jaffer Date: Wed, 6 May 2026 15:09:11 -0700 Subject: [PATCH] test(e2e/agents): add list-agents spec for Validation #1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Routes load — /agents, /agents/{aid}, /agents/{aid}/sessions/{sid} each render their primary container. Captures console errors and asserts none on the list view. --- .../tests/agents/list-agents.spec.ts | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 ui/litellm-dashboard/e2e_tests/tests/agents/list-agents.spec.ts diff --git a/ui/litellm-dashboard/e2e_tests/tests/agents/list-agents.spec.ts b/ui/litellm-dashboard/e2e_tests/tests/agents/list-agents.spec.ts new file mode 100644 index 00000000000..2db9f4b4f82 --- /dev/null +++ b/ui/litellm-dashboard/e2e_tests/tests/agents/list-agents.spec.ts @@ -0,0 +1,39 @@ +/** + * LIT-2881 Validation #1 — Routes load. + * + * Open /agents, /agents/{aid}, /agents/{aid}/sessions/{sid} and verify they + * each render their primary container without console errors. + */ +import { test, expect } from "@playwright/test"; +import { AGENTS_DEV_URL, authenticateAgentsPage } from "./_helpers"; + +test.describe.configure({ mode: "serial" }); + +test("/agents lists Agent definitions", async ({ page }) => { + const consoleErrors: string[] = []; + page.on("console", (msg) => { + if (msg.type() === "error") consoleErrors.push(msg.text()); + }); + await authenticateAgentsPage(page); + await page.goto(`${AGENTS_DEV_URL}/agents`); + await expect(page.getByTestId("agents-table")).toBeVisible(); + await expect(page.getByText("shin-cursor-default")).toBeVisible(); + expect(consoleErrors, `console errors: ${consoleErrors.join("\n")}`).toHaveLength(0); +}); + +test("/agents/{aid} lists sessions under that agent", async ({ page }) => { + await authenticateAgentsPage(page); + await page.goto(`${AGENTS_DEV_URL}/agents/agt_01`); + await expect(page.getByTestId("agent-detail")).toBeVisible(); + await expect(page.getByTestId("agent-detail-sessions")).toBeVisible(); + await expect(page.getByText("Refactor router fallback logic")).toBeVisible(); +}); + +test("/agents/{aid}/sessions/{sid} renders three-pane view", async ({ page }) => { + await authenticateAgentsPage(page); + await page.goto(`${AGENTS_DEV_URL}/agents/agt_01/sessions/ses_01`); + await expect(page.getByTestId("three-pane")).toBeVisible(); + await expect(page.getByTestId("session-list")).toBeVisible(); + await expect(page.getByTestId("conversation-pane")).toBeVisible(); + await expect(page.getByTestId("right-panel")).toBeVisible(); +});