Files
Toju/e2e
myxelium e49b3ec112 chore: dev-stack switches, shared e2e harness, and desktop shell rules
- `LIVE_RELOAD=false npm run dev` keeps the renderer alive across a machine
  suspend; the reload client otherwise destroys the session under test.
- `dev-peer.sh` plus a separate userdata dir runs a second local peer.
- `tools/voice-probe.js` samples peer state and RTP counters from a live
  window, persisting to localStorage so a renderer reload cannot erase it.
- e2e helpers for voice pairs, peer-role election, and a TURN relay.
- Electron single-instance and dev-client-load decisions move into rules
  files with colocated specs.
2026-08-14 03:19:29 +02:00
..
2026-04-18 21:27:04 +02:00

End-to-End Tests

Playwright suite for the MetoYou / Toju product client. The tests exercise browser flows such as authentication, chat, voice, screen sharing, and settings with reusable page objects and helpers.

Commands

Run these from the repository root:

  • npm run test:e2e runs the full Playwright suite.
  • npm run test:e2e:ui opens Playwright UI mode.
  • npm run test:e2e:debug runs the suite in debug mode.
  • npm run test:e2e:report opens the HTML report in test-results/html-report.

You can also run npx playwright test from e2e/ directly.

Runtime

  • playwright.config.ts starts cd ../toju-app && npx ng serve as the test web server.
  • The suite targets http://localhost:4200.
  • Tests currently run with a single Chromium worker.
  • The browser launches with fake media-device flags and grants microphone/camera permissions.
  • Artifacts are written to ../test-results/artifacts, and the HTML report is written to ../test-results/html-report.

Structure

Path Description
tests/ Test specs grouped by feature area such as auth/, chat/, voice/, screen-share/, and settings/
pages/ Reusable Playwright page objects
helpers/ Test helpers, fake-server utilities, and WebRTC helpers
fixtures/ Shared test fixtures

Notes

  • The suite is product-client focused; it does not currently spin up the marketing website.
  • Keep reusable browser flows in pages/ and cross-test utilities in helpers/.