Files
Toju/e2e
myxelium a83f5aa750 fix(realtime): survive signal outages and per-server identities
Peer recovery burned its whole retry budget while signaling was down, then
dropped the tracker with no re-arm, so a peer stayed dead until an unrelated
roster event healed it. Recovery now waits for a usable transport before
spending an attempt.

Initiator election also compared a home actor id against foreign roster ids,
which is not antisymmetric across signal servers - both sides offered, or
neither did. Election moves into `peer-role.rules` and compares ids only
within one signal server's identity space.
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/.