Expand automated test coverage in CI #5

Open
opened 2026-07-07 16:51:28 +00:00 by claude-bot · 0 comments
Contributor

Goal

Make CI exercise everything it should. Today's pipeline lints and builds the frontend and runs backend pytest, but several existing test suites and safety checks are never run in CI.

Gaps to close

  • Frontend unit tests — run Vitest / React Testing Library (M6 component tests exist but CI only lints + builds).
  • E2E — run the Playwright happy-path suite (browse → edit → approve → push) in CI.
  • Container health smoke test — after the image builds, boot it and assert GET /api/v1/health returns 200 (matches the M0 exit criterion).
  • Dependency audits — run pip-audit (backend) and npm audit (frontend) as a CI job.
  • Alembic migration check — assert there are no un-generated model changes / migrations apply cleanly on a fresh DB.
  • Optionally: coverage reporting with a soft threshold; Dockerfile lint (hadolint); image vulnerability scan (trivy/grype).

Acceptance criteria

  • Vitest and Playwright suites run and pass in CI
  • A booted-container health check gates the build job
  • pip-audit + npm audit run (non-blocking or blocking, decided in review)
  • Migration consistency is verified in CI

Depends on: CI migration to Forgejo Actions.

## Goal Make CI exercise everything it should. Today's pipeline lints and builds the frontend and runs backend pytest, but several existing test suites and safety checks are never run in CI. ## Gaps to close - [ ] **Frontend unit tests** — run Vitest / React Testing Library (M6 component tests exist but CI only lints + builds). - [ ] **E2E** — run the Playwright happy-path suite (browse → edit → approve → push) in CI. - [ ] **Container health smoke test** — after the image builds, boot it and assert `GET /api/v1/health` returns 200 (matches the M0 exit criterion). - [ ] **Dependency audits** — run `pip-audit` (backend) and `npm audit` (frontend) as a CI job. - [ ] **Alembic migration check** — assert there are no un-generated model changes / migrations apply cleanly on a fresh DB. - [ ] Optionally: coverage reporting with a soft threshold; Dockerfile lint (hadolint); image vulnerability scan (trivy/grype). ## Acceptance criteria - [ ] Vitest and Playwright suites run and pass in CI - [ ] A booted-container health check gates the build job - [ ] `pip-audit` + `npm audit` run (non-blocking or blocking, decided in review) - [ ] Migration consistency is verified in CI Depends on: CI migration to Forgejo Actions.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
rbrooks/Iris-WLED#5
No description provided.