Skip to content

feat: comprehensive Playwright E2E tests for dashboard UX#9

Merged
nazq merged 1 commit intomainfrom
feat/playwright-tests
Mar 15, 2026
Merged

feat: comprehensive Playwright E2E tests for dashboard UX#9
nazq merged 1 commit intomainfrom
feat/playwright-tests

Conversation

@nazq
Copy link
Copy Markdown
Owner

@nazq nazq commented Mar 15, 2026

Summary

22 browser-level Playwright tests covering the full dashboard UI, running against a real drasill server with a temp database.

  • Page load, title, no JS errors
  • Sidebar: toggle, empty state, agent registration via API + SSE refresh
  • Mesh overview panel with agent counts
  • New session dialog: open/close/form fields
  • Health deps page: dependency list, install links
  • Agent detail view on click
  • Static assets + no 404s
  • Health API endpoint

Infrastructure

  • pytest-playwright + headless Chromium
  • Session-scoped server fixture (uvicorn on random port)
  • Separate e2e_tests/ directory
  • just test-e2e / just test-e2e-headed recipes

Test plan

  • 22/22 Playwright tests passing locally
  • Lint clean (ruff check + format)
  • Doesn't affect unit test suite or coverage gate

@nazq nazq force-pushed the feat/playwright-tests branch from f2603eb to 3748a15 Compare March 15, 2026 15:56
Add 22 browser-level tests covering the full dashboard UI:

- Page load: 200 response, title, sidebar visibility, no JS errors
- Sidebar: toggle collapse/expand, no agents initially, agent
  appears after API registration
- Mesh overview: panel loads, agent counts visible after registration
- New session dialog: opens on click, has form fields (name, dir),
  closes on Escape, closes on Cancel
- Health deps page: loads, shows dependency list (uv, hm, claude),
  shows install links for missing deps
- Messaging UI: send form present when agents exist
- Agent detail: clicking agent shows detail view
- Static assets: CSS loads, no 404s on page load
- Health API: JSON endpoint returns ok

Infrastructure:
- pytest-playwright + chromium headless
- Session-scoped server fixture (uvicorn on random port, temp DB)
- Separate e2e_tests/ directory (doesn't affect unit test coverage)
- just test-e2e / just test-e2e-headed recipes
@nazq nazq force-pushed the feat/playwright-tests branch from 3748a15 to 989a6a5 Compare March 15, 2026 15:57
@nazq nazq merged commit 7f34490 into main Mar 15, 2026
1 check passed
@codecov
Copy link
Copy Markdown

codecov bot commented Mar 15, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 96.03%. Comparing base (285d9ee) to head (989a6a5).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main       #9   +/-   ##
=======================================
  Coverage   96.03%   96.03%           
=======================================
  Files          15       15           
  Lines        1035     1035           
=======================================
  Hits          994      994           
  Misses         41       41           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant