Test Results¶
This page is generated from the real CI pipeline in
.github/workflows/ci.yml; it does not contain a fixed/invented test
count.
Test Coverage¶
Stages that actually run in CI:
| Stage | What runs | Source |
|---|---|---|
| Security precheck | Forbidden-file scan + secret-leak scan | ci.yml → security-precheck |
| Workflow lint | GitHub Actions YAML validation via actionlint |
ci.yml → workflow-lint |
| Frontend lint / prettier | eslint ., prettier --check |
dashboard/package.json |
| TypeScript / typecheck | tsc --noEmit |
dashboard/package.json |
| Unit test (frontend) | node --test |
dashboard/package.json → npm test |
| Backend test | node --test (5 files: ERP mapping, ERP auth, upsert, Go proxy, Go auth) + test/smoke.mjs |
iqvflex/backend/package.json → npm test |
| E2E / Playwright | Playwright scenarios against a built dashboard preview | ci.yml → e2e, iqvflex/e2e/ |
| k6 smoke | test/k6/smoke.js against a real backend + MongoDB service |
ci.yml → k6-smoke, iqvflex/backend/test/k6/ |
| Docker build | Building the backend and frontend images (not pushed) | ci.yml → docker-build |
e2e/ and k6/ are not separate top-level folders in this
repository; E2E tests live under iqvflex/e2e/, and k6 tests under
iqvflex/backend/test/k6/.
Quality Pipeline¶
The final quality-pipeline job produces a report from the other jobs'
needs.*.result values via node ci/generate-quality-report.mjs.
Scoring is weighted and fixed:
| Stage | Weight |
|---|---|
| Dashboard (lint/prettier/typecheck/test/build) | 30 |
| Backend Tests | 25 |
| E2E — Playwright | 20 |
| Docker Build | 15 |
| k6 Smoke | 10 |
| Total | 100 |
Security Precheck and Workflow Lint are not included in the score (weight 0), but both are blocking pre-checks.
Strict Gate: on. If any blocking stage (the 5 scored stages above plus
Security Precheck and Workflow Lint) is FAIL / SKIPPED / CANCELLED,
the Overall Result is FAILED regardless of score. There is no soft
gate — the score never hides a real failure.
Where to view results¶
Every CI run's quality-pipeline job produces:
- Job Summary:
reports/SUMMARY.mdis written to GitHub Actions' "Job Summary" view (shown directly in the Actions tab for the run). - Artifact: the
iqv-flex-quality-reportGitHub Actions artifact containsreports/REPORT.md(detailed 8-section report),reports/REPORT.json(machine-readable result) andreports/QUALITY.svg(static badge). Retention: 30 days.
Access: in the GitHub repository, Actions → the run → Summary tab (short
summary), or the Artifacts section at the bottom of the same page to
download iqv-flex-quality-report (detailed report).
The success percentage, passed/failed test counts and score are generated dynamically per CI run — this page does not state a fixed number; check the relevant GitHub Actions run for the current result.