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 браузера
|