# QA Test Prompt для AmoCRM MCP Server (v2)

Скопируй весь текст ниже и вставь в Claude Desktop (или Claude Code) где подключён AmoCRM MCP.

---

## ПРОМПТ

```
Ты QA-тестировщик AmoCRM MCP сервера. Твоя задача — последовательно выполнить 10 тестовых запросов, записать результаты и составить итоговый QA-отчёт.

ВАЖНО:
- Каждый вопрос выполняй ОТДЕЛЬНО, дожидаясь полного ответа
- Записывай ТОЧНЫЕ числа, суммы, количество записей из ответа
- Если инструмент вернул ошибку — запиши текст ошибки
- Фиксируй какие именно инструменты (tool calls) были вызваны и с какими параметрами

---

### ТЕСТ 1: Поиск контактов
Вызови нужные инструменты чтобы ответить: "Покажи контакты с именем Алексей"
Ожидание: список контактов, у каждого — имя, телефон/email если есть. Не пустой результат.

### ТЕСТ 2: Компании
Ответь: "Какие компании есть в CRM? Покажи первые 5"
Ожидание: 5 компаний с названиями. Если есть — ответственный менеджер и количество сделок.

### ТЕСТ 3: Воронки + активные сделки (MULTI-TOOL)
Ответь: "Покажи все воронки и сколько активных сделок в каждой"
Ожидание: таблица воронок с количеством активных сделок (exclude_closed=true). Нужно вызвать get_pipelines, затем count_and_sum_leads для каждой воронки.

### ТЕСТ 4: Топ менеджер месяца (MULTI-TOOL, КРИТИЧЕСКИЙ)
Ответь: "Кто из менеджеров закрыл больше всего сделок в этом месяце?"
Ожидание: вызвать get_users, затем count_and_sum_leads с closed_at фильтром за текущий месяц для каждого менеджера. Результат — рейтинг менеджеров по количеству закрытых сделок.

### ТЕСТ 5: Просроченные задачи менеджера (MULTI-TOOL)
Ответь: "Покажи просроченные задачи Никиты Чуравского"
Ожидание: найти user_id через get_users, затем get_tasks с complete_till_to=текущий unix timestamp и responsible_user_ids. Задачи должны быть отсортированы по дедлайну (просроченные первыми).

### ТЕСТ 6: Причины отказа
Ответь: "Какие причины отказа по проигранным сделкам?"
Ожидание: список причин отказа из get_loss_reasons. Не ошибка и не пустой список.

### ТЕСТ 7: События за сегодня
Ответь: "Покажи последние события — кто что менял за сегодня"
Ожидание: список событий из get_events(date_from=начало сегодня в unix). Тип события, кто сделал, что изменилось.

### ТЕСТ 8: Неразобранные заявки
Ответь: "Сколько нераспределённых заявок?"
Ожидание: число из get_unsorted. Может быть 0 — это валидный результат, но не ошибка.

### ТЕСТ 9: Сделки по цене (ФИЛЬТРАЦИЯ)
Ответь: "Покажи сделки дороже 500 000 рублей в работе"
Ожидание: сделки с price >= 500000, только активные (не закрытые). Можно использовать get_leads(price_from=500000) + исключить status 142/143, или count_and_sum_leads(price_from=500000, exclude_closed=true).

### ТЕСТ 10: Кастомные поля
Ответь: "Какие кастомные поля есть у сделок?"
Ожидание: список полей из get_custom_fields(entity="leads"). Каждое поле — ID, название, тип.

---

### СОСТАВЛЕНИЕ ОТЧЁТА

После всех 10 тестов составь отчёт в ТОЧНО таком формате:

# QA Report — AmoCRM MCP Server — [ДАТА]

## Общий результат: X/10 passed

| # | Вопрос | Ожидание | Результат | Статус |
|---|--------|----------|-----------|--------|
| 1 | [вопрос] | [что ожидалось] | [что реально вернулось — ТОЧНЫЕ числа, данные, ошибки] | ✅ PASS / ❌ FAIL |
| ... | ... | ... | ... | ... |

## Детали по FAIL-кейсам

Для каждого FAIL опиши:

### BUG-N — Тест X: [краткое описание]
**Вопрос:** [точный вопрос]
**Что вернул:** [точный ответ с числами]
**Что ожидалось:** [ожидаемый результат]
**Какие инструменты вызывались:** [список tool calls с параметрами]
**Гипотеза причины:** [почему результат неверный]
**Рекомендация:** [что исправить в MCP-сервере]

## Прочие находки

Замечания, не являющиеся FAIL, но важные (аномальные данные, UX-улучшения, медленные ответы).

## Критерии оценки

- ✅ PASS: инструмент вернул корректные данные, нет ошибок
- ❌ FAIL: ошибка (JSONDecodeError, timeout, пустой результат при наличии данных), неверные данные
- ✅ PASS (с оговоркой): данные верные но есть мелкий недочёт (формат, сортировка)

## Итоговый список задач

| ID | Приоритет | Описание |
|----|-----------|----------|
| BUG-1 | 🔴 КРИТ / 🟡 СРЕДН / 🟢 НИЗК | [описание бага и что нужно исправить] |
```

---

## Как использовать

1. Подключи AmoCRM MCP к Claude Desktop (см. README.md)
2. Открой новый чат в Claude Desktop
3. Скопируй весь блок ПРОМПТ выше и вставь в чат
4. Claude выполнит все 10 тестов и выдаст отчёт
5. Сохрани отчёт — сравнивай между версиями сервера

## Покрытие тулов

| Тул | Тесты |
|-----|-------|
| get_contacts | 1 |
| get_companies | 2 |
| get_pipelines | 3 |
| count_and_sum_leads | 3, 4, 9 |
| get_users | 4, 5 |
| get_tasks | 5 |
| get_loss_reasons | 6 |
| get_events | 7 |
| get_unsorted | 8 |
| get_leads | 9 |
| get_custom_fields | 10 |
