chore: remainder — backend test infra, agent config, docker, i18n, frontend ui
- Backend: alembic env, config manager/models, dependencies, translate plugin - Backend tests: async_sync_regression, integration tests, git services, test_agent - Docker: docker-compose.yml updates - Agent: qa-tester.md update, semantics-testing SKILL.md update - Frontend: TopNavbar, sidebarNavigation, FeaturesSettings, FeatureGate - i18n: assistant.json en/ru locale updates - New: frontend/src/lib/components/agent/ directory
This commit is contained in:
@@ -168,7 +168,12 @@ For Svelte frontend contracts, tests SHALL be split by execution layer:
|
||||
5. Mock only `[EXT:...]` boundaries. Never mock the System Under Test (per `semantics-testing` §V).
|
||||
6. For `@REJECTED` paths: add a test that proves the forbidden path throws or is unreachable (per `semantics-testing` §IV).
|
||||
7. **Edge-case floor:** Cover at least 3 edge cases per production contract: `missing_field`, `invalid_type`, `external_fail` (per `semantics-testing` §III).
|
||||
8. Prefer RTK-compressed commands for test execution: `rtk pytest ...`, `rtk npm run test`.
|
||||
8. **Maximum test file size:** A single test file MUST NOT exceed **600 lines** (800 for integration tests with Testcontainers). If the file exceeds this limit:
|
||||
- Split into multiple files by domain (e.g., `test_auth_lifecycle.py` + `test_auth_ws.py` instead of `test_auth.py`).
|
||||
- Extract shared fixtures into a `conftest.py`.
|
||||
- Each test class tests ONE production contract. If >3 classes, split.
|
||||
- **RATIONALE:** Files >600 lines degrade sliding-window attention — the model loses context from the top of the file when processing the bottom.
|
||||
9. Prefer RTK-compressed commands for test execution: `rtk pytest ...`, `rtk npm run test`.
|
||||
|
||||
### Phase 4: Execution
|
||||
```bash
|
||||
|
||||
Reference in New Issue
Block a user