Files
CRM-LeadRadar/docs/ACCEPTANCE.md
T
yuriandClaude Opus 5.5 9749da5ae7 Lead Radar: исходный код
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-25 23:11:04 +04:00

39 lines
6.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Приёмка по критериям ТЗ (раздел 9)
Состояние на 09.10.2026. «Автотест» — сценарий в `apps/api/src/*.int.test.ts`, проверяется командой
`pnpm test`. Автотесты работают с заглушкой Telegram, поэтому всё, что касается настоящего бота и
телефона, нужно один раз пройти руками на боевом стенде.
| № | Критерий | Автотест | Руками |
| - | -------- | -------- | ------ |
| 1 | Объявление под фильтр приходит в Telegram всем нужным агентам; время замерено | «первый проход наполняет базу…», «личный фильтр: уведомление получает только его владелец» | Не пройдено с настоящим ботом и привязанным агентом. Замер задержки один: 41 с (docs/PARSER.md); медиана за сутки — в разделе «Парсер» |
| 2 | Одновременное «Беру»: лид у одного, второй видит «Уже взят» | «при одновременном нажатии лид получает один агент…» | Проверить двумя телефонами |
| 3 | 24 часа без смены статуса: предупреждение, возврат в пул, уведомление о потере | «через 24 часа без смены статуса лид возвращается в пул…» | — |
| 4 | Чёрный список и порог N не создают лид в режиме «только собственники» | «„только собственники“: метка агентства, порог N и чёрный список…» | — |
| 5 | Агент не видит чужие лиды при выключенной видимости и видит при включённой | «видимость: агент не видит чужие лиды…» | — |
| 6 | Solo не видит аналитику и базу; в Team нельзя добавить участника сверх лимита (с 09.10.2026 лимиты: Team 10, Agency 35) | «…Solo базы и аналитики не видит», «в Team нельзя добавить одиннадцатого участника, даже одновременно» | — |
| 7 | Руководитель изменил воронку — канбан, аналитика и карточки показывают новые статусы | «руководитель добавляет, переименовывает, переставляет и удаляет промежуточные статусы» | Пройдено в браузере |
| 8 | Сделка без комиссии невозможна; счёт по «%» совпадает с ручным расчётом | «отказ требует причину, сделка — комиссию…», «счёт 1-го числа совпадает с ручным расчётом…» | Пройдено в браузере на демо-компании: (4200 + 1 540 000 / 385 + 2600) × 7 % = 756 $ |
| 9 | Смена тарифа применяется только со следующего месяца | «из кабинета применяется только со следующего месяца» | Пройдено в браузере |
| 10 | 16-й день просрочки: уведомления прекращаются, CRM на чтение; после оплаты доступ возвращается | «16-й день просрочки…», «…компания без доступа лидов не получает» | — |
| 11 | Суперадмин меняет дату окончания и отправляет сообщение выбранной компании | «просрочка: … суперадмин возвращает доступ», «сообщения в Telegram: всем, компании, руководителям, одному пользователю; журнал» | Отправка проверена в браузере; доставка в настоящий Telegram — нет: в тестовой базе у пользователей компаний Telegram не привязан |
| 12 | Снятое объявление получает отметку и дату; повторное приходит новым лидом со ссылкой на прошлый | «раз в сутки объект из CRM проверяется…», «снятое объявление опубликовано снова…», «тот же объект под новым номером…» | Блоки «Снято» и «Уже был в работе» в браузере не смотрели |
| 13 | Все экраны и сообщения бота на трёх языках | — | Экраны переключаются. Армянские тексты не вычитаны носителем языка |
## Общие требования
| Требование | Состояние |
| ---------- | --------- |
| Один бэкенд для веб-кабинета и Mini App, реляционная база, очередь уведомлений | Есть |
| Лимиты Telegram и повтор при ошибке | Есть, автотест «при ошибке отправки сообщение повторяется…» |
| Пароли в виде хеша, проверка роли и компании на сервере | Есть |
| HTTPS | Появится при выкладке: сертификат выпускает Nginx Proxy Manager |
| Ежедневная резервная копия | Настроена в боевой сборке, проверена локально |
| Chrome и Safari, Mini App на iOS и Android | Проверено только в Chrome, включая экран телефона. Safari и настоящий Telegram на iOS и Android — нет |
## Mini App
Проверено в Chrome на экране 390 × 844 с настоящими подписанными данными Telegram: вход без пароля,
мастер настройки, лента, карточка, «Беру», смена статуса, фильтры, подписка. В настоящем Telegram
не открывалось: Telegram открывает Mini App только по https-адресу, а он появится после выкладки.