Back to Copilotkit

Showcase Test Coverage Matrix

showcase/QA-COVERAGE.md

1.57.09.6 KB
Original Source

Showcase Test Coverage Matrix

This matrix tracks what testing exists for each demo and the Sales Dashboard starter hero across manual QA checklists, automated unit tests, Playwright E2E tests, aimock-backed deterministic tests, and CI automation.

Legend:

  • PASS Covered -- tests exist and verify this demo
  • WARN Partial -- some coverage exists but gaps remain
  • FAIL None -- no tests exist for this demo
  • STUB Needs aimock -- tests exist but require aimock fixtures that are missing or incomplete

Demo Coverage

DemoManual QAVitest UnitPlaywright E2E (smoke)Playwright E2E (interaction)Per-Package E2EAimock FixturesCI Auto
Agentic ChatPASS 17 packagesFAILPASS load + suggestionsWARN suggestion click onlyPASS weather card, background change, multi-turnWARN background, weather matchesWARN validate only (no Playwright in CI by default)
Human in the LoopPASS 17 packagesFAILPASS load + suggestionsWARN suggestion click onlyPASS step selector, approve/rejectWARN plan/steps/mars matches (text only, no interrupt)WARN validate only
Tool RenderingPASS 17 packagesFAILPASS load + suggestionsWARN suggestion click onlyPASS WeatherCard with stats gridWARN weather match (tool call)WARN validate only
Gen UI (Tool-Based)PASS 17 packagesFAILFAILFAILPASS sidebar, haiku card, pie/bar chartFAIL no haiku-specific fixtureWARN validate only
Gen UI (Agent)PASS 17 packagesFAILFAILFAILPASS task progress tracker, progress barFAIL no gen-ui-agent fixtureWARN validate only
Shared State (Read)PASS 17 packagesFAILFAILFAILPASS recipe card, sidebar, pipelineFAIL no shared-state fixtureWARN validate only
Shared State (Write)PASS 17 packages (stub)FAILFAILFAILPASS pipeline, deal CRUD, agent state writesFAIL no shared-state fixtureWARN validate only
Shared State (Streaming)PASS 17 packages (stub)FAILFAILFAILPASS document editor, confirm/reject changesFAIL no streaming fixtureWARN validate only
Sub-AgentsPASS 17 packages (stub)FAILFAILFAILPASS travel planner, agent indicators, sectionsFAIL no subagent fixtureWARN validate only

Starter Hero Coverage

FeatureManual QAVitest UnitPlaywright E2E (smoke)Playwright E2E (interaction)Aimock FixturesCI Auto
Sales Dashboard (page load)FAILPASS extract-starter tests (on-demand extraction)PASS header, 4 renderer pillsPASS pill switching, content verificationWARN sales/todo/deal matchesWARN validate + aimock-e2e (manual trigger)
Renderer SelectorFAILFAILPASS 4 pills visible, default selectionPASS mutual exclusion, content changes per modeFAILWARN validate only
Tool-Based modeFAILFAILPASS pipeline heading, KPI cardsPASS Add a deal, multiple deals, empty stateWARN sales/todo matchesWARN validate only
A2UI Catalog modeFAILFAILPASS same pipeline contentFAILFAILWARN validate only
json-render modeFAILFAILPASS fallback note + pipelineFAILFAILWARN validate only
HashBrown modeFAILFAILPASS pipeline contentFAILFAILWARN validate only

Test Infrastructure Details

Manual QA Checklists (showcase/integrations/*/qa/*.md)

  • 153 files across 17 packages (17 × 9 demos)
  • All 17 packages have checklists for all 9 demos: agentic-chat, hitl-in-chat, tool-rendering, gen-ui-tool-based, gen-ui-agent, shared-state-read, shared-state-write, shared-state-streaming, subagents
  • Authored across all packages: agentic-chat, hitl-in-chat, tool-rendering, gen-ui-tool-based, gen-ui-agent, shared-state-read. Stub-only across all 17 packages (not yet authored): shared-state-write, shared-state-streaming, subagents (3 demos × 17 packages = 51 stub files).

Vitest Unit Tests (showcase/scripts/__tests__/*.test.ts)

  • generate-registry.test.ts -- registry generation
  • validate-constraints.test.ts -- constraint validation
  • bundle-demo-content.test.ts -- demo content bundling
  • create-integration.test.ts -- integration creation
  • Gap: No unit tests for individual demo component logic

Playwright E2E -- Shared (showcase/scripts/__tests__/e2e/)

  • starter-e2e.spec.ts -- Sales Dashboard starter (15 tests: pills, modes, content switching, add deals)
  • demo-e2e.spec.ts -- agentic-chat, hitl-in-chat, tool-rendering only (9 tests: load, suggestions, click)
  • screenshots.spec.ts -- screenshot capture
  • Gap: No shared E2E tests for gen-ui-tool-based, gen-ui-agent, shared-state-*, subagents

Playwright E2E -- Per-Package (showcase/integrations/*/tests/e2e/)

  • Every one of the 17 packages ships 9 per-demo spec files (agentic-chat, hitl-in-chat, tool-rendering, gen-ui-tool-based, gen-ui-agent, shared-state-read, shared-state-write, shared-state-streaming, subagents).
  • langgraph-python additionally ships a 10th spec (renderer-selector.spec.ts) covering the Sales Dashboard renderer-selector flow; no other package has this spec.
  • Tests require a running dev server and (for interaction tests) an agent backend or aimock, and are not wired into default CI — they run on demand locally or via the manual test_e2e-showcase-on-demand.yml trigger.
  • Gap: The renderer-selector per-package coverage is langgraph-python-only; replicating it to at least one TypeScript package would verify cross-framework parity.

Aimock Fixtures (showcase/aimock/)

  • feature-parity.json -- 35 fixture entries covering: weather, charts, meetings, sales, flights, theme, background, plans, greetings
  • smoke.json -- minimal smoke test fixtures
  • Gap: No fixtures for haiku generation, recipe state, document streaming, travel planning, or interrupt/HITL flows

CI Workflows (.github/workflows/showcase_*.yml)

  • showcase_validate.yml -- runs npx vitest run on PR (unit tests only)
  • test_e2e-showcase-on-demand.yml -- runs aimock-backed Playwright E2E, manual trigger only (/test-aimock comment or workflow_dispatch)
  • showcase_drift-detection.yml -- template drift detection
  • showcase_template-drift.yml -- template synchronization
  • showcase_deploy.yml -- deployment pipeline
  • Gap: No automatic Playwright E2E in CI on every PR; aimock E2E requires manual trigger
  1. Add aimock fixtures for gen-ui-tool-based (haiku), gen-ui-agent (task steps), shared-state (recipe/deals/document), subagents (travel), and HITL (interrupt with steps)
  2. Add shared E2E tests in demo-e2e.spec.ts for the 6 demos currently missing (gen-ui-tool-based, gen-ui-agent, shared-state-read, shared-state-write, shared-state-streaming, subagents)
  3. Enable automatic Playwright E2E in CI -- run at least smoke tests on every PR
  4. Add manual QA checklists for the Sales Dashboard starter hero
  5. Replicate per-package E2E tests to at least one TypeScript package (e.g. langgraph-typescript) to verify cross-framework parity