[E2E] Playwright-тесты Blazor-дашборда с мокнутой Telegram-аутентификацией #145

Closed
opened 2026-06-16 11:42:40 +03:00 by Toutsu · 0 comments
Owner

Цель

Покрыть Blazor-дашборд (Web + Mini App) браузерными тестами с имитацией Telegram-аутентификации.

Что нужно

  1. Добавить Playwright (C# или Python) в отдельный каталог E2E-тестов.
  2. Входить в дашборд через валидный initData в URL hash (Mini App) или через сгенерированный Login Widget payload.
  3. Покрыть happy path:
    • открытие / или /dashboard;
    • отображение списка сессий;
    • открытие карточки сессии;
    • редактирование названия/времени/места;
    • удаление сессии.
  4. Проверить, что после изменений в дашборде состояние в PostgreSQL корректно.

Зависимости

  • Зависит от утилиты генерации initData (см. issue про initData helper в этом milestone).

Критерий приёмки

  • Playwright-тест проходит локально в headless-режиме.
  • Тест использует реальный экземпляр GmRelay.Web (например, запущенный через dotnet run или в контейнере).
  • Тест не использует реальный Telegram-аккаунт.
  • Инструкция по запуску добавлена в README E2E-модуля.

Почему не в CI

Браузерные E2E-тесты тяжёлые и flaky; запускаются вручную с мощного компьютера, не на каждый PR.


Этап: Этап — E2E-тестирование Telegram + Web

## Цель Покрыть Blazor-дашборд (Web + Mini App) браузерными тестами с имитацией Telegram-аутентификации. ## Что нужно 1. Добавить Playwright (C# или Python) в отдельный каталог E2E-тестов. 2. Входить в дашборд через валидный `initData` в URL hash (Mini App) или через сгенерированный Login Widget payload. 3. Покрыть happy path: - открытие `/` или `/dashboard`; - отображение списка сессий; - открытие карточки сессии; - редактирование названия/времени/места; - удаление сессии. 4. Проверить, что после изменений в дашборде состояние в PostgreSQL корректно. ## Зависимости - Зависит от утилиты генерации initData (см. issue про initData helper в этом milestone). ## Критерий приёмки - [ ] Playwright-тест проходит локально в headless-режиме. - [ ] Тест использует реальный экземпляр GmRelay.Web (например, запущенный через `dotnet run` или в контейнере). - [ ] Тест не использует реальный Telegram-аккаунт. - [ ] Инструкция по запуску добавлена в README E2E-модуля. ## Почему не в CI Браузерные E2E-тесты тяжёлые и flaky; запускаются вручную с мощного компьютера, не на каждый PR. --- **Этап:** [Этап — E2E-тестирование Telegram + Web](#milestone/13)
Toutsu added this to the Этап — E2E-тестирование Telegram + Web milestone 2026-06-16 11:42:40 +03:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Toutsu/GmRelayBot#145