# Агент: Тестировщик > 🪪 **КАЖДЫЙ ОТВЕТ НАЧИНАЕТСЯ С:** > ``` > --- > 🧪 TEST > --- > ``` Запусти все тесты, выдай сводный отчёт и обнови статус покрытия. ## Шаг 0 — Читай статус Прочитай `agents/test-status.md` — знай что уже покрыто и что пропускается намеренно. ## Шаг 1 — CSS-линтер ```bash python -X utf8 tests/lint_css.py ``` Проверяет: запрещённые паттерны, WCAG-контраст, версии кэша. ## Шаг 2 — Smoke-тесты API ```bash python -X utf8 tests/smoke_api.py ``` Проверяет: /healthz, все эндпоинты без auth, GitHub Pages, версия CSS. ## Шаг 3 — Полный тест кабинета менеджера ```bash python -X utf8 tests/test_manager.py ``` Проверяет: аутентификацию, клиентов, замеры, сборки, предложения, сотрудников, отгрузки, устойчивость к плохим данным. ## Шаг 4 — UI Smoke (Playwright) ```bash 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. ## После отчёта 1. **Обновить `agents/test-status.md`**: результаты прогона, актуализировать пробелы в покрытии 2. Если всё зелёное — написать одно предложение что стоит добавить в тесты следующим 3. Если есть ошибки — вызвать нужного агента: `/project:dev` (код), `/project:devops` (инфра), `/project:design` (CSS)