Priority: high
Description
There are no test coverage thresholds enforced in CI, meaning coverage can silently drop as new code is added. Coverage thresholds must be configured for the backend (80%) and frontend (70%), and CI must fail if coverage drops below these thresholds.
Acceptance Criteria
- Backend test coverage measured with Jest --coverage
- Frontend test coverage measured with Jest --coverage
- CI fails if backend coverage drops below 80%
- CI fails if frontend coverage drops below 70%
- Coverage report is uploaded as a CI artifact and displayed in PR comments
Priority: high
Description
There are no test coverage thresholds enforced in CI, meaning coverage can silently drop as new code is added. Coverage thresholds must be configured for the backend (80%) and frontend (70%), and CI must fail if coverage drops below these thresholds.
Acceptance Criteria