test(desktop): cover the components left at zero and exclude dev tooling

Independent QA on 3264db10 flagged changed-lines coverage at 86.17%
(5539/6428), under the 90% gate. Two causes, handled differently.

`desktop/src/dev/` joins `mocks/` and `types/` in the coverage exclusions.
It holds the component gallery — 260 of the 889 uncovered lines, and by
far the largest single contributor. Vite never bundles it (the build
input is `index.html` alone), and unit-testing a page whose whole job is
rendering every primitive would assert that the primitives render, which
their own tests already do. Excluding it is a scope correction, not a
threshold adjustment.

The rest are three components this branch touched that had no test file
at all. They now have one each, covering the behavior that changed:

- `BackgroundTasksBar` — drawer open/close including Escape, the running
  vs finished split, dismissed-key filtering, and that clearing reports
  every finished key while keeping the drawer open if work continues.
- `TeamStatusBar` — the progress bar's `aria-valuenow`, lead exclusion
  from both list and count, and that it greens on "nothing running"
  rather than on 100%: one completed plus one errored is done at 50%,
  which is why `tone="auto"` would have been wrong here.
- `MarketSkillDetail` — skeleton semantics, retry, install/uninstall by
  `installState`, and the disabled+spinner state mid-install.

Changed-lines coverage: 91.06% (5610/6161).

The QA report's second finding, `check:impact` blocking on a missing
`allow-cli-core-change` label, is an artifact of the branch trailing
main. `check:impact` diffs against `main`, so main's own newer commits —
9 files under `src/` — are counted as this branch's. Against the merge
base the same evaluator returns `areas: desktop, blocked: false`. No code
change here; the branch needs a rebase before it can pass that lane.
This commit is contained in:
程序员阿江(Relakkes)
2026-07-26 17:56:57 +08:00
parent f91b62f485
commit 598b968eec
4 changed files with 364 additions and 0 deletions
+6
View File
@@ -148,6 +148,12 @@ const DESKTOP_SCOPE: CoverageScope = {
excludePrefixes: [
'desktop/src/mocks/',
'desktop/src/types/',
// Dev-only tooling, same category as mocks/. `dev/` holds the component
// gallery, which Vite never bundles (its build input is index.html alone)
// and which exists precisely to be looked at by a person — unit-testing a
// page whose whole job is rendering every primitive would assert that the
// primitives render, which their own tests already do.
'desktop/src/dev/',
],
excludeSuffixes: ['.test.ts', '.test.tsx', '.d.ts', 'vite-env.d.ts', '.css'],
}