Files
rltn/TESTING_INSTRUCTIONS.md

3.1 KiB
Raw Blame History

Инструкция по тестированию системы статуса пользователей

Быстрый тест

  1. Запустите сервер:

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