From 50b2ad948276c3e8487b60128044fed23eed4b69 Mon Sep 17 00:00:00 2001 From: Ishaan Jaffer Date: Wed, 6 May 2026 15:09:22 -0700 Subject: [PATCH] test(e2e/agents): add live-stream spec for Validation #4 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Inside a session, poll until ≥3 events have rendered in the conversation pane (combination of message bubbles and tool-call cards). Mock provider ticks every 400ms so this lands well under the 10s budget. --- .../tests/agents/live-stream.spec.ts | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 ui/litellm-dashboard/e2e_tests/tests/agents/live-stream.spec.ts diff --git a/ui/litellm-dashboard/e2e_tests/tests/agents/live-stream.spec.ts b/ui/litellm-dashboard/e2e_tests/tests/agents/live-stream.spec.ts new file mode 100644 index 00000000000..b953cb8f7e5 --- /dev/null +++ b/ui/litellm-dashboard/e2e_tests/tests/agents/live-stream.spec.ts @@ -0,0 +1,28 @@ +/** + * LIT-2881 Validation #4 — Live event streaming. + * + * Inside a session, ≥3 events render in the conversation pane within 10s + * (from the mock SSE stream — assistant_message, tool_call, etc.). + */ +import { test, expect } from "@playwright/test"; +import { AGENTS_DEV_URL, authenticateAgentsPage } from "./_helpers"; + +test("session view streams ≥3 events into the conversation pane", async ({ page }) => { + await authenticateAgentsPage(page); + await page.goto(`${AGENTS_DEV_URL}/agents/agt_01/sessions/ses_01`); + await expect(page.getByTestId("conversation-pane")).toBeVisible(); + + // Mock streamer ticks every 400ms; we should see all kinds of events + // (the conversation snapshot already has 3 messages + 6 streamed events). + // Count visible message bubbles + tool cards + diff entries combined. + await expect + .poll( + async () => { + const messages = await page.getByTestId(/^message-bubble-/).count(); + const tools = await page.getByTestId("tool-call-card").count(); + return messages + tools; + }, + { timeout: 10_000, intervals: [200, 500, 1000] }, + ) + .toBeGreaterThanOrEqual(3); +});