Test the parts that need a browser, in one
Six adapters had no coverage at all and could not have any: measured table rails, a pointer drag, a caret painted for somebody else, a wash in `CSS.highlights`. None of them can be reached from `bun test`, which has no DOM and should not grow one — happy-dom returns zero for every rectangle, so a rail drawn in the right place and one drawn on top of itself would pass the same assertion. Forty tests in Chromium against the built client, because that is what production serves and because one process is easier to reason about than Vite and the server together. A room exists because somebody opened its URL, so isolation costs a name rather than a fixture, and the suite runs fully parallel against two servers it starts itself — 8788, and 8789 with the injection flags on, since `DEV_QUESTIONS` and `DEV_COMMENTS` are read on every room open and one server would put a questionnaire in every other suite's room. The files are `*.e2e.ts`. Bun's runner claims `.spec.` as well as `.test.`, so the conventional name would enrol every one of these in the unit run, which cannot import them. Nothing has gained a `data-testid`. The product already carries `data-plan-*` for its own purposes and the rest is roles, labels and placeholders — a test that wants a new attribute is usually a test asking for the wrong thing. `@types/bun` moves to the root because the catalog copies are nested per workspace, and `e2e` is not one; making it a workspace to be typechecked would have been a heavier answer than one dependency.
Parent3a9582a
18 files changed+1248-15
StackedSplit