Finding
The documentation repo has 18 test files covering data-fetching scripts (feeds, contributors, GitHub profiles, SBOM, etc.) that run via npm test (node --test scripts/*.test.js) in the pages CI workflow. However:
- No coverage reporting — there is no visibility into what percentage of script logic is tested
- No coverage thresholds — regressions can land without detection
- No coverage artifacts — no historical tracking of coverage trends
Test files present:
check-sbom-staleness.test.js
enrichment.test.js
fetch-chain.test.js
fetch-contributors.test.js
fetch-feeds.test.js
fetch-firehose.test.js
fetch-github-driver-versions.test.js
fetch-github-images.test.js
fetch-github-profiles.test.js
fetch-github-repos.test.js
fetch-github-sbom.test.js
fetch-gnome-extensions.test.js
fetch-pin-state.test.js
fetch-playlist-metadata.test.js
generate-card-images.test.js
request-queue.test.js
update-artwork.test.js
Recommendation
- Add
c8 (or node --test --experimental-test-coverage) to generate coverage reports
- Upload coverage to Codecov or as a workflow artifact
- Set a baseline coverage threshold (e.g., 60%) to prevent regression
Example using Node.js built-in coverage:
node --test --experimental-test-coverage scripts/*.test.js
Priority
- Impact: low — scripts are data pipelines, not user-facing; tests already exist
- Effort: low — single command change + optional Codecov config
Filed by quality agent (hold-gated mode)
Finding
The documentation repo has 18 test files covering data-fetching scripts (feeds, contributors, GitHub profiles, SBOM, etc.) that run via
npm test(node --test scripts/*.test.js) in the pages CI workflow. However:Test files present:
check-sbom-staleness.test.jsenrichment.test.jsfetch-chain.test.jsfetch-contributors.test.jsfetch-feeds.test.jsfetch-firehose.test.jsfetch-github-driver-versions.test.jsfetch-github-images.test.jsfetch-github-profiles.test.jsfetch-github-repos.test.jsfetch-github-sbom.test.jsfetch-gnome-extensions.test.jsfetch-pin-state.test.jsfetch-playlist-metadata.test.jsgenerate-card-images.test.jsrequest-queue.test.jsupdate-artwork.test.jsRecommendation
c8(ornode --test --experimental-test-coverage) to generate coverage reportsExample using Node.js built-in coverage:
node --test --experimental-test-coverage scripts/*.test.jsPriority
Filed by quality agent (hold-gated mode)