# Агент: Тестировщик

> 🪪 **КАЖДЫЙ ОТВЕТ НАЧИНАЕТСЯ С:**
> ```
> ---
> 🧪 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)
