EVCharge E2E Verify FAIL

Run ID: run-verify-e2e-chat-002-20260331-1739 Scenario: E2E-CHAT-002 — Support Chat полный цикл Started: 2026-03-31 14:39 UTC Finished: 2026-03-31 14:51 UTC Duration: ~12 min Scenario file: scenarios/smoke-tests/e2e-chat-002-support-chat.md

⚠ Причина сбоя

Результаты шагов

#МодульБлокСтатусДлительностьДетали
V0Bot ServiceHealthcheck PASS2s status: ok, supabase: true, mattermost: true
V1ClientЛогин клиента PASS35s Авторизован по +79990001111 / OTP 654321. Главный экран с активными заказами загружен.
V2ClientОткрыть чат поддержки FAIL5s «Связаться с поддержкой» открывает t.me/zarady_bot в новой вкладке. In-app ChatWidget отсутствует в main и develop ветках.
V3ClientОтправить сообщение BLOCKED Заблокировано сбоем V2 — ChatWidget недоступен.
V4DispatcherЛогин диспетчера PASS3s Дашборд диспетчера загружен (сессия сохранена). v1.4.1-63e311d, Test env.
V5DispatcherВидит сообщение клиента PASS12s ChatPanel открыт. Группы: Маршруты (2), Техподдержка (1), Системные (99+). Канал «Поддержка — Валерий -» открыт, сообщения клиента через evcharge-bot видны. WebSocket подключён.
V6DispatcherОтветить на сообщение PASS8s Ответ «Здравствуйте! Техник приедет в течение часа.» отправлен и отображается в MessageList (14:48, Сегодня).
V7ClientКлиент видит ответ BLOCKED Заблокировано: ChatWidget не реализован. Ответ отправлен в канал «Валерий» (другой клиент, не тестовый +79990001111).
V8DBФинальная верификация PASS2s mm_channel_mapping: 1 активный support-канал (support-854a3255), assigned_dispatcher_id = a7a78a62 (тестовый диспетчер). Канала для тестового клиента нет (ожидаемо).

Скриншоты

Dispatcher Dashboard
V4 — Дашборд диспетчера
Client Initial
Client App — лендинг (до логина)
Client Main
V1 — Главный экран (залогинен)
Chat Panel
V5 — ChatPanel: группы и support-канал
Support Channel
V5 — Сообщения клиента в support-канале
Reply Sent
V6 — Ответ диспетчера отправлен

DB Checkpoints

БЛОК 0 — Проверка старых каналов для тестового клиента
SELECT ... FROM mm_channel_mapping WHERE client_id = '2a0b26a1...' AND channel_type = 'support'
Результат: [] — каналов нет (ожидаемо, тестовый клиент ни разу не отправлял сообщение через in-app чат)
БЛОК 8 — Активные support-каналы
SELECT mm_channel_id, mm_channel_name, channel_type, assigned_dispatcher_id, last_client_message_at, last_activity_at
FROM mm_channel_mapping WHERE channel_type = 'support' AND archived_at IS NULL
Результат:
• support-854a3255 | assigned_dispatcher = a7a78a62 (тестовый диспетчер) | last_client_msg = 2026-03-30 16:07 ✅
• support-9967723c | другой диспетчер
• support-1a6299c0 | другой диспетчер

Ошибки

block-2-client-open-chat (V2 FAIL)
Кнопка «Связаться с поддержкой» в Client App (FlutterFlow, ветка main v2.2.16+71) открывает внешний Telegram-бот (t.me/zarady_bot) вместо встроенного ChatWidget. Ветка develop не содержит изменений связанных с чатом (отличается только иконками и changelog).

Что нужно: реализовать ChatWidget в Client App (вероятно в новой feature-ветке), подключить к Bot Service API (POST /bot/chat/support), собрать и задеплоить. Bot Service и Dispatcher ChatPanel полностью готовы к интеграции.