| # | Module | Block | Status | Duration | Details |
|---|---|---|---|---|---|
| 0 | DB + API | Healthcheck | PASS | 3.2s | Bot Service: {status:ok, supabase:true, mattermost:true}. mm_user_mapping: dispatcher found, has PAT. |
| 1 | Dispatcher | Логин | PASS | 4.5s | Logged in as testadmin@test.com. Dashboard: 4 unassigned orders (PZ-0552–0555), chat icon in header. |
| 2 | Dispatcher | Открытие ChatPanel | PASS | 4.2s | ChatPanel (Drawer) opened. Loaded after 3s — initially blank, then channels populated. |
| 3 | Dispatcher | Группы каналов | PASS | 1.5s | 3 groups: Маршруты (2ch), Техподдержка (1ch), Системные (99+ unread, 10+ channels incl. Оперативные оповещения, Диспетчерская, Off-Topic, Town Square, per-technician channels). |
| 4 | Dispatcher | Открытие канала | PASS | 2.8s | Opened "Техник: Чижов Виталий" (Системные). MessageList + MessageComposer (text field, attach, send) visible. |
| 5 | Dispatcher | Отправка сообщения | PASS | 3.1s | Sent "Тестовое сообщение E2E-CHAT-001". Appeared right-aligned (blue bubble) at 14:34. DB: mm_user_mapping confirmed. |
| 6 | Dispatcher | Закрытие ChatPanel | PASS | 1.8s | Closed via Escape. Dashboard intact, no overlays. Chat icon (99+ badge) still in header. |
| 7 | Dispatcher | Повторное открытие | PASS | 2.2s | Reopened — resumed at last channel, test message still visible at 14:34. WebSocket reconnected. |
SELECT employee_id, mm_user_id, mm_username, mm_personal_token IS NOT NULL as has_token FROM mm_user_mapping WHERE employee_id = 'a7a78a62-8a5e-4c54-9977-d90cdb75b51b';Result:
[{"employee_id":"a7a78a62-8a5e-4c54-9977-d90cdb75b51b","mm_user_id":"4grfof3cffbt9dzqio7utg8mah","mm_username":"admin.testovyy","has_token":true}]
БЛОК 5 — mm_user_mapping post-send verification:
SELECT mm_user_id, mm_username FROM mm_user_mapping WHERE employee_id = 'a7a78a62-8a5e-4c54-9977-d90cdb75b51b';Result:
[{"mm_user_id":"4grfof3cffbt9dzqio7utg8mah","mm_username":"admin.testovyy"}]