chore: cursor agents, rules, hooks and workspace docs
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
---
|
||||
description: Mandatory testing gates for all code repos (same rigor)
|
||||
alwaysApply: true
|
||||
---
|
||||
|
||||
# Обязательные тестовые гейты
|
||||
|
||||
## Политика **вариант A** (репозитории без полного CI как у плеера)
|
||||
|
||||
Для **`project-converter`** и **`DndGamePlayerLicenseServer`**: любое изменение поведения сопровождается в **том же PR** скриптом **`npm test`** (если его ещё не было) и автотестами; merge без этого **запрещён** правилами (исключение — только явное согласование при объективной блокировке). См. **`project.mdc`**.
|
||||
|
||||
## 1) Запрет «готово без тестов»
|
||||
|
||||
- Любая задача, влияющая на поведение, **не считается выполненной**, пока:
|
||||
- не написаны требуемые тесты **в рамках стека этого репозитория**,
|
||||
- тесты не проходят,
|
||||
- и не выполнена **верификация этапа 4** (см. `agent-3-ui-tester.mdc`, `agents-pipeline-order.mdc`): UI (Electron/браузер) или HTTP-сценарии для сервера.
|
||||
|
||||
## 2) Какие виды тестов обязательны
|
||||
|
||||
Подбирать по риску. Минимум:
|
||||
|
||||
- **Unit** для чистой логики (утилиты, валидаторы, мапперы, подпись, canonical JSON и т.д.).
|
||||
- **Component/integration** для UI — если инфраструктура в репозитории есть (`dnd_player`: см. `npm run test`).
|
||||
- **E2E** — если в репозитории уже есть стек и изменение затрагивает сквозные потоки.
|
||||
- **A11y smoke** — если инструменты есть в репо.
|
||||
|
||||
Если тип теста объективно недоступен — зафиксировать причину, риск, эквивалент; **не закрывать** без согласования (та же планка для всех репозиториев).
|
||||
|
||||
## 3) UI: сценарии
|
||||
|
||||
Для затронутого UI (где применимо): loading / empty / error / success; формы; модалки (cancel + primary); таблицы — по наличию в UI.
|
||||
|
||||
## 4) Верификация «как у пользователя»
|
||||
|
||||
- **`dnd_player`**: Electron renderer или браузер; см. также `npm run dev` / сценарии задачи.
|
||||
- **`project-converter`**: окно Electron, выбор файла, конвертация.
|
||||
- **`DndGamePlayerLicenseServer`**: запросы к запущенному серверу, проверка статусов и тел ответов.
|
||||
|
||||
## 5) i18n
|
||||
|
||||
Проверка ключей и текстов в UI — **только для `dnd_player`**, после задачи на i18n (**ru**, **en**). До неё — согласованность литералов и UX.
|
||||
|
||||
## 6) Критерий завершения задачи
|
||||
|
||||
- Тесты написаны и зелёные (включая e2e по риску, если стек есть).
|
||||
- Верификация этапа 4 выполнена (UI или API).
|
||||
- В ответе — краткий test plan и результат.
|
||||
Reference in New Issue
Block a user