Files
pulse/tests
rcourtman b2d69b7569 Port the inline selection scroll E2E spec to the platform pages
The 47-inline-selection-scroll-stability spec sat in QUARANTINED_SPECS
with no reason, so it never ran. Its five tests opened routes the
platform-first IA retired: /infrastructure (now an entry route that
redirects to the first visible platform page, with settings and alerts
as fallbacks), and /recovery, /workloads and /storage (no route
matches, so NotFoundPage renders).

Inline detail drawers and local row selection are still live on the
platform pages, so each test was judged on what it describes:

- Infrastructure inline detail: deleted. The Proxmox host rows run
  showGuests on click and only the chevron opens the node drawer, which
  has no reveal behaviour to pin.
- Recovery protected-item selection: deleted. There is no Recovery page,
  rollupId URL or history item filter left in the frontend.
- Workload reveal, workload keyboard open/close, storage pool reveal:
  ported to /proxmox/overview and /proxmox/storage with the current
  selectors (tr[data-guest-id], tr[data-summary-series-id],
  [data-inline-detail-for], the disclosure button's aria-controls).

The old assertions waited 350 ms and measured once, which cannot tell a
reveal that never ran from one that landed and then moved. The port
observes the row, its detail and the scroll shell on every animation
frame from before the click until the layout has settled and held, and
fails on a late second scroll, a close that moves the row or scrolls
the shell, any history write (even to the same URL), or a keyboard
toggle that does nothing. The storage test opens ?sort=host&order=asc
because the default Priority sort reorders pools on live utilisation.

Moves the spec from QUARANTINED_SPECS to PROBATION_SPECS. Probation
runs in the Core E2E workflow on pushes (not on pull requests) without
gating the verdict, and the spec earns promotion under the existing
10-run rule.

Checked on pulse-dev against a managed local backend with the CI-size
mock estate (50 nodes, 929 guests):
- unmodified spec, default harness timeouts: Chromium x6 repeats 18 of
  18 passed; all three CI projects passed with the mobile tests skipped
- negative controls on one build with the mutations switched by a
  user-agent marker: no reveal, hard-centred row, row pinned to the top,
  late jump, jump and return, selection written to the URL, close that
  jumps or blips, and a dead keyboard handler each fail the intended
  assertion, and the inert runs on the same build pass
- check-e2e-tiering.mjs: stable tier unchanged (57 files, 366
  instances), probation 42 -> 43 files and 555 -> 564 instances,
  quarantined 2 -> 1; a tree that leaves the spec in both tiers is
  rejected with the overlap error
2026-10-10 13:12:51 +01:00
..