Add comprehensive automated test coverage
Goal
Establish automated testing across the full JobPilot stack.
Backend
Add unit tests covering:
- Business logic
- Application status transitions
- Event chronology
- Email parsing
- Company matching
- Role matching
- Analytics
- Export functionality
- AI-service integrations/mocks
AI Service
Add tests for:
- Classification
- Structured output
- JSON schema validation
- Role-fit analysis
- Email classification
- Confidence handling
- Hallucination/ambiguous-result safeguards
AI tests should use deterministic mocks/fixtures where appropriate.
Integration tests
Test:
- API ↔ database
- Application lifecycle
- Email processing → application matching → status update
- Export flows
- MCP data access
Frontend tests
Test:
- Components
- Forms
- Status update UI
- Native notifications/dialogs
- Application list/detail loading
- Analytics rendering
- CV rendering
E2E tests
Cover critical user journeys:
- Create application
- Update application status
- Add historical event
- Add interview
- Process incoming email
- Open application details
- Export data
- Tailor CV
- View analytics
Lint
Add linting to the automated pipeline.
Acceptance Criteria
- Backend unit tests are established.
- AI service tests are established.
- Integration tests are established.
- Frontend tests are established.
- E2E tests cover critical flows.
- Lint runs automatically.
- Test commands are documented.
- CI fails when tests or lint fail.
Add comprehensive automated test coverage
Goal
Establish automated testing across the full JobPilot stack.
Backend
Add unit tests covering:
AI Service
Add tests for:
AI tests should use deterministic mocks/fixtures where appropriate.
Integration tests
Test:
Frontend tests
Test:
E2E tests
Cover critical user journeys:
Lint
Add linting to the automated pipeline.
Acceptance Criteria