--- 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 и результат.