Infra-board โ tests¶
Frontend: 17 files ยท 188 tests. E2E: 2 specs ยท 8 tests.
The infra-board is well covered at the unit level โ src/pages/infra-board is
the single best-covered area in the frontend at 99.64% statements โ and it
is the only board with two Playwright specs: one driving the shell, one
driving the work that happens inside it.
Frontend¶
| Area | Files | Tests |
|---|---|---|
pages/infra-board (data and pure logic) |
6 | 88 |
components/InfraBoardDashboard |
10 | 86 |
pages/InfraBoardDashboard.test.tsx |
1 | 14 |
| File | Tests | Covers |
|---|---|---|
components/InfraBoardDashboard/PhaseDetail.test.tsx |
26 | Phase detail view |
pages/infra-board/infra-board.data.test.ts |
26 | The board's data module |
pages/infra-board/rip-model.test.ts |
20 | The RIP phase model |
pages/infra-board/rail-stats.test.ts |
15 | Rail statistics |
pages/InfraBoardDashboard.test.tsx |
14 | The page container |
components/InfraBoardDashboard/InfraSectionRouter.test.tsx |
14 | Section routing |
pages/infra-board/rip-phases.catalog.test.ts |
11 | The twelve-phase catalogue |
components/InfraBoardDashboard/FaseladderOverview.test.tsx |
9 | Faseladder overview |
components/InfraBoardDashboard/Portfolio.test.tsx |
9 | Portfolio view |
pages/infra-board/modes.config.test.ts |
9 | Mode configuration |
components/InfraBoardDashboard/InfraCommandPalette.test.tsx |
8 | Command palette |
pages/infra-board/rip-phase-counts.test.ts |
7 | Phase counts |
components/InfraBoardDashboard/ProjectDetail.test.tsx |
6 | Project detail |
components/InfraBoardDashboard/MijnDag.test.tsx |
5 | The "Mijn Dag" section |
Coverage: pages/infra-board 99.64 / 97.2 / 100 / 100 โ
the highest in the frontend โ and components/InfraBoardDashboard
90.96 / 84.54 / 87.87 / 91.68.
The gap between those two rows is the usual one: the pure data and model modules are exhaustively covered, while the components carry the "critical interactions only" scoping used across the frontend.
E2E¶
Two specs, eight tests. Measured 30 August 2026 against acc at 15dfbf9
as part of the full frontend run: 27 tests, all passing, 1.9m.
| Spec | Tests | Covers |
|---|---|---|
infra-board-journey.spec.ts |
7 | The shell |
rip-r21-journey.spec.ts |
1 | The work |
These eight are the largest per-board share of the frontend suite โ see Coverage per board for how they sit against the other nineteen.
infra-board-journey.spec.ts drives the board itself: opening on Mijn dag
with all three werkmodi available, each werkmodus reaching its own surface and
back, the rail carrying all twelve RIP phases with each opening its own detail,
every account/IOU/hulpmiddelen section rendering real content, the RIP archive
opening from its own rail entry rather than the IOU one, and the command palette
jumping straight to a section. One test is a full sweep asserting no failed
request and no console error across the board.
rip-r21-journey.spec.ts starts a RIP R2.1 process, works every user task,
and completes the phase. Its own header puts the division plainly: the first
spec covers the shell, this one covers the work. It signs in as
test-infra-flevoland, navigates the Faseladder rail to R2.1, and drives all
twelve tasks โ the last of which now renders the
signing panel rather than a form.
It carries a test.skip(true, reason) inside the test body, which skips the
run when its preconditions are not met and logs the reason first. It did not
skip in this measurement.
This page said none for six days
Both specs landed on 24 August 2026. This page, its at-a-glance line and
the testing overview's roadmap all continued to say the board had no
end-to-end coverage through two subsequent documentation syncs. The specs
were visible the whole time in packages/frontend/e2e/; nothing in a
changelog-driven sync pointed at them, because neither release that added
them was the one being documented.
The lesson is narrow and worth stating: a per-board page's E2E section cannot be derived from the release being synced. It has to be re-derived from the spec directory, every time.