hoangsonww / hoangsonww/Threadline-RealTime-Collab
Stand up an automated test suite for apps/web
- Dominant language
- TypeScript
- Stars
- 3
- Forks
- 1
- Avg merge
- 6h 39m
- Merged PRs (30d)
- 4
Description
## Problem
`apps/web` has no automated test suite at all today. Every UI fix and feature — the WebRTC mesh initiator bug, the room-membership UI, the screen-share state machine, the whiteboard off-tab-loss fix — was verified through live manual testing against the running app rather than a regression suite. This is the single largest testing gap in the repo, and it's the reason real bugs (mesh initiator, stale-presence-after-disconnect, off-tab whiteboard loss) shipped before being caught by hand.
## Proposed solution
- Introduce a Playwright-based suite (the same tool already used for manual verification during development, per `docs/testing.md`) rather than a component-only unit-test framework, since most of the value here is in genuinely exercising `WorkspaceGate`, routing, and real WebSocket/WebRTC behavior.
- Start with the two-independent-browser-context pattern already proven by hand (see `docs/troubleshooting.md`'s note on why two tabs sharing one context's cookies doesn't work) and wire it into CI as a new job in `.github/workflows/quality.yml`.
- Prioritize coverage for the bugs that have actually shipped before: mesh initiator negotiation, presence-after-disconnect, and the whiteboard off-tab mount behavior.
## References
- [`docs/roadmap.md`](https://github.com/hoangsonww/Threadline-RealTime-Collab/blob/main/docs/roadmap.md) — "No automated suite for apps/web"
- [`docs/testing.md#everything-the-automated-suites-dont-cover`](https://github.com/hoangsonww/Threadline-RealTime-Collab/blob/main/docs/testing.md)
Contributor guide
Assessment
This issue has not been assessed yet.