61 lines
3.1 KiB
Markdown
61 lines
3.1 KiB
Markdown
|
|
# Инструкция по тестированию системы статуса пользователей
|
|||
|
|
|
|||
|
|
## Быстрый тест
|
|||
|
|
|
|||
|
|
1. **Запустите сервер**:
|
|||
|
|
```bash
|
|||
|
|
node server.js
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
2. **Откройте игру в браузере** и войдите в систему
|
|||
|
|
|
|||
|
|
3. **Откройте Telegram в игровом телефоне** и проверьте:
|
|||
|
|
- Отображается ли статус "Онлайн" для текущего пользователя
|
|||
|
|
- Есть ли зеленая точка рядом с аватаром
|
|||
|
|
- Показывает ли статус "Офлайн" для других пользователей
|
|||
|
|
|
|||
|
|
## Детальное тестирование
|
|||
|
|
|
|||
|
|
### Тест 1: Проверка API
|
|||
|
|
1. Откройте `test_telegram_status.html` в браузере
|
|||
|
|
2. Введите JWT токен из localStorage браузера
|
|||
|
|
3. Нажмите "Тестировать API"
|
|||
|
|
4. Проверьте, что возвращается список пользователей с полями:
|
|||
|
|
- `isOnline`: boolean
|
|||
|
|
- `lastSeen`: timestamp или null
|
|||
|
|
|
|||
|
|
### Тест 2: Проверка WebSocket событий
|
|||
|
|
1. Откройте консоль браузера
|
|||
|
|
2. Войдите в игру
|
|||
|
|
3. Проверьте логи:
|
|||
|
|
```
|
|||
|
|
Статус пользователя изменился: {userId: X, isOnline: true}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Тест 3: Проверка реального времени
|
|||
|
|
1. Откройте игру в двух вкладках браузера
|
|||
|
|
2. Войдите под разными пользователями
|
|||
|
|
3. В одной вкладке откройте Telegram
|
|||
|
|
4. В другой вкладке закройте игру
|
|||
|
|
5. Проверьте, что статус изменился на "Офлайн" в реальном времени
|
|||
|
|
|
|||
|
|
## Ожидаемые результаты
|
|||
|
|
|
|||
|
|
- ✅ Статус "Онлайн" отображается только для пользователей, которые действительно в игре
|
|||
|
|
- ✅ Зеленая точка появляется рядом с аватаром онлайн пользователей
|
|||
|
|
- ✅ Статус обновляется в реальном времени при подключении/отключении
|
|||
|
|
- ✅ Время последнего онлайн отображается для офлайн пользователей
|
|||
|
|
- ✅ В консоли сервера видны логи подключения/отключения пользователей
|
|||
|
|
|
|||
|
|
## Возможные проблемы
|
|||
|
|
|
|||
|
|
1. **Статус не обновляется**: Проверьте WebSocket соединение
|
|||
|
|
2. **API возвращает ошибку**: Проверьте JWT токен и права доступа
|
|||
|
|
3. **Статус не синхронизируется**: Проверьте логи сервера на наличие ошибок
|
|||
|
|
|
|||
|
|
## Отладка
|
|||
|
|
|
|||
|
|
- **Сервер**: Смотрите логи в консоли сервера
|
|||
|
|
- **Клиент**: Смотрите логи в консоли браузера
|
|||
|
|
- **WebSocket**: Проверьте соединение в Network tab браузера
|