32 lines
1.7 KiB
Markdown
32 lines
1.7 KiB
Markdown
# Test Strategy: Unified Task Reports by Type
|
|
|
|
## Overview
|
|
This feature implements a unified reporting center. Testing is split between Backend (Aggregation/Normalization) and Frontend (Unified UX/Type Profiles).
|
|
|
|
## Tiers & Fixtures
|
|
- **CRITICAL Modules**: `ReportsAggregationModule`, `ReportNormalizer`, `ReportsApiContract`, `UnifiedReportsPage`.
|
|
- **TEST_DATA**: Uses `mixed_task_reports` and `unknown_type_partial_payload` fixtures defined in `.ai/standards/semantics.md` (materialized in `backend/tests/fixtures/reports/fixtures_reports.json` and `frontend/src/lib/components/reports/__tests__/fixtures/reports.fixtures.js`).
|
|
|
|
## Test Suites
|
|
|
|
### Backend
|
|
1. **Contract Tests**: `backend/src/api/routes/__tests__/test_reports_api.py` (Pagination, Filters).
|
|
2. **Normalizer Tests**: `backend/src/services/reports/__tests__/test_report_normalizer.py` (Fallback logic).
|
|
3. **Detail Tests**: `backend/src/api/routes/__tests__/test_reports_detail_api.py`.
|
|
4. **Conformance**: `backend/src/api/routes/__tests__/test_reports_openapi_conformance.py`.
|
|
|
|
### Frontend
|
|
1. **UX Contract Tests**:
|
|
- `frontend/src/lib/components/reports/__tests__/report_card.ux.test.js`
|
|
- `frontend/src/lib/components/reports/__tests__/report_detail.ux.test.js`
|
|
2. **Integration Tests**:
|
|
- `frontend/src/lib/components/reports/__tests__/reports_page.integration.test.js`
|
|
- `frontend/src/lib/components/reports/__tests__/report_detail.integration.test.js`
|
|
3. **Unit Tests**:
|
|
- `frontend/src/lib/components/reports/__tests__/report_type_profiles.test.js`
|
|
4. **Performance**:
|
|
- `frontend/src/lib/components/reports/__tests__/reports_filter_performance.test.js`
|
|
|
|
## Execution
|
|
- Backend: `cd backend && .venv/bin/python3 -m pytest`
|
|
- Frontend: `cd frontend && npm test` |