Skip to content

How CapacityLens is tested ​

See what the automated checks cover before you rely on CapacityLens. It is alpha software with a single maintainer, so those checks carry most of the safety net. The development guide has the commands, coverage floors and CI jobs.

Sizes were counted once on 2026-10-01 and are not enforced, so they will drift.

SuiteToolCoversSize (approximate)
App and shared unit testsVitest, Testing LibraryThe shared scheduling rules, the client store, and React componentsAbout 310 test files
Server testsVitestThe API, authorisation, the SQLite database, migrations from released database fixtures, backups and sign-inAbout 180 test files
End-to-end testsPlaywrightThe demo, database-backed and password sign-in flows in a real browserAbout 70 spec files
Accessibility checksaxe, inside the end-to-end testsAutomated accessibility rules on key screens7 spec files
Mutation testingStrykerWhether the unit tests fail when the scheduling logic is changedRun on demand, not on every change

Limits of each suite ​

  • Each released database fixture was generated by that release's build; the server tests migrate a copy to the current schema. The oldest is from 0.20.0-alpha.1.
  • End-to-end tests run Chromium by default. WebKit and Firefox runs are opt-in.
  • Axe finds common problems such as missing names and low contrast. It does not replace testing with assistive technology.
  • Mutation testing covers only the pure scheduling and helper code, not the server or React screens.

The repository README shows CI status, code coverage, CodeQL, OpenSSF Scorecard and OpenSSF Baseline badges. The OpenSSF Baseline assessment has the evidence behind the Baseline badge.

CapacityLens is open source under AGPL-3.0.