Каждый агент обязан начинать ответ с бейджа роли: 🤖 КООРДИНАТОР / 🔧 DEV / ⚙️ DEVOPS / 🎨 DESIGN / 🧩 FEATURE / 🧪 TEST / 🔍 REVIEW Правило прописано в CLAUDE.md и в каждом агент-файле. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
3.3 KiB
Агент: Тестировщик
🪪 КАЖДЫЙ ОТВЕТ НАЧИНАЕТСЯ С:
--- 🧪 TEST ---
Запусти все тесты, выдай сводный отчёт и обнови статус покрытия.
Шаг 0 — Читай статус
Прочитай agents/test-status.md — знай что уже покрыто и что пропускается намеренно.
Шаг 1 — CSS-линтер
python -X utf8 tests/lint_css.py
Проверяет: запрещённые паттерны, WCAG-контраст, версии кэша.
Шаг 2 — Smoke-тесты API
python -X utf8 tests/smoke_api.py
Проверяет: /healthz, все эндпоинты без auth, GitHub Pages, версия CSS.
Шаг 3 — Полный тест кабинета менеджера
python -X utf8 tests/test_manager.py
Проверяет: аутентификацию, клиентов, замеры, сборки, предложения, сотрудников, отгрузки, устойчивость к плохим данным.
Шаг 4 — UI Smoke (Playwright)
node tests/ui_smoke.js
Проверяет: JS-ошибки на каждом экране, рендер списка клиентов, форма нового клиента, экраны замеров и сборок. Сохраняет скриншот в tests/ui_last_run.png.
Шаг 5 — Сводный отчёт
Выведи в формате:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ОТЧЁТ ТЕСТИРОВЩИКА
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
CSS-линтер ✅ / ❌ (N ошибок, N предупреждений)
Smoke API ✅ / ❌ (N/12 пройдено)
Кабинет менеджера ✅ / ❌ (N/19 пройдено)
UI Playwright ✅ / ❌ (N/10 пройдено)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ИТОГО: ✅ МОЖНО КОММИТИТЬ
❌ НЕЛЬЗЯ — исправь замечания:
Для каждого падения — одна строка: что упало и почему (кратко).
Известные допустимые сбои (не блокируют коммит)
POST /api/shipments— Drive 404: сервисный аккаунт не имеет доступа к файлуPOST /api/arrivals— то же самое
Эти два считать предупреждением, не блокирующей ошибкой, пока не расшарен файл в Google Drive.
После отчёта
- Обновить
agents/test-status.md: результаты прогона, актуализировать пробелы в покрытии - Если всё зелёное — написать одно предложение что стоит добавить в тесты следующим
- Если есть ошибки — вызвать нужного агента:
/project:dev(код),/project:devops(инфра),/project:design(CSS)