M8: Testing Framework & Coverage
Deliverables:
- Pytest integrated with Django
- Global fixtures for users, roles, API client
- Per-app tests/ directories and initial test files
- Makefile shortcuts (make test, make coverage)
Tests covering:
- Authentication + roles
- Permissions
- Post workflow (draft → pending → approved → published)
- Feed filtering by audience & role
- Search layer integration (mocked)
- Queue event publishing
- Worker event handling
- Documentation added to README on running tests
Success Criteria:
- All teammates can run the full test suite using:
- make test
- Test database builds automatically and consistently
- Core user-flow and CMS logic have at least baseline test coverage
- Search and worker logic are tested with mocks
- No teammate experiences import/path/failure issues