2.4 KiB
2.4 KiB
name, enabled, event, action, conditions
| name | enabled | event | action | conditions | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| block-duplicate-fixtures | true | file | block |
|
🚫 Test Quality Violation: Duplicate Fixture Definition
Your edit redefines a fixture that already exists in tests/conftest.py.
Detected fixture duplication attempt:
The following fixtures are globally available from root tests/conftest.py:
mock_uow- Mock UnitOfWork with all repositoriescrypto- AesGcmCryptoBox with in-memory keystoremeetings_dir- Temporary meetings directorywebhook_config- WebhookConfig for MEETING_COMPLETEDwebhook_config_all_events- WebhookConfig for all eventssample_datetime- UTC datetime fixturecalendar_settings- CalendarSettings for OAuth testingmeeting_id- Test MeetingIdsample_meeting- Sample Meeting entityrecording_meeting- Meeting in RECORDING statemock_grpc_context- Mock gRPC ServicerContextmock_asr_engine- Mock ASR engine
Why this is blocked:
- Fixture duplication creates maintenance burden
- Inconsistent test behavior when fixtures diverge
- Violates DRY principle
- Cross-file fixture duplicates are flagged by
tests/quality/
What to do instead:
- Use the existing fixture from
tests/conftest.py - If you need variations, create a new fixture with a different name
- If the global fixture is insufficient, update root
tests/conftest.py
Allowed locations for new fixtures:
tests/conftest.py- Add global fixtures here (unrestricted)tests/<subdir>/conftest.py- Add scoped fixtures with unique names- Any test file - Add test-specific fixtures with unique names
Project reference: See tests/conftest.py for all available fixtures.