BRD Widget 8.4 Автотесты

Направление работ: Widget Код раздела: 8.4 Раздел: Общие работы > Автотесты Статус: черновик Ответственный: Панкова Л.А. Версия: 0.1 Обновлено: 12.08.26


1. Назначение

Раздел описывает автоматизированные тесты виджета: e2e-тесты ключевых пользовательских сценариев, тесты API с проверкой соответствия ответов интерфейсу и их запуск в CI.

Тесты живут в отдельном репозитории автотестов виджета, который заведён в GitLab и имеет собственный CI.

2. Ключевые понятия

Unit-тест — тест отдельной функции, утилиты или стора.

Тест API — тест, который проверяет ответ метода бэкенда и то, что виджет отображает клиенту пришедшие в ответе значения.

E2E-тест — тест сквозного пользовательского сценария в собранном виджете.

CI — автоматический запуск тестов при сборке и перед деплоем.

3. Scope

Входит

S2: E2E-тесты ключевых сценариев

S2: Тесты API и соответствие ответов интерфейсу

S3: Запуск тестов в CI

Не входит

  • S1: Unit-тесты утилит и сторов — отдельной целью не ставится, решение от 12.08.26, см. OQ8.4-1

4. BR

Раздел технический; определяется требованиями качества и надёжности виджета.

5. Функциональные требования (UC + FR)

FR — functional requirements, что должно обеспечиваться автотестами по определенному UC.

IDСценарийФункциональное требованиеBRВесСтатус
S1: #FR8.4-1Разработчик меняет утилиту или сторКлючевые утилиты и сторы виджета покрыты unit-тестами.3Вне скоупа — отдельной целью не ставится, см. OQ8.4-1
S2: #FR8.4-4Ответ API проверяется на соответствие интерфейсуТесты API проверяют не только успешность ответа метода, но и то, что виджет отображает клиенту значения, пришедшие в ответе: применённая тема, состав промокодов, итоговая стоимость, данные клиента.1Не реализовано
S2: #FR8.4-2Проверка сквозного сценарияКлючевые пользовательские сценарии (сбор заказа, вход, создание заказа) покрыты e2e-тестами.3Частично — сьюты auth, booking-flow, widget-settings есть, целевой объём покрытия не подтверждён, см. OQ8.4-1
S3: #FR8.4-3Сборка перед деплоемТесты запускаются автоматически в CI перед деплоем.3Реализовано — CI настроен в репозитории автотестов виджета

6. Открытые вопросы

IDИсточникВопросКомуСтатус
#OQ8.4-1КодУточнено 11.08.26. Ранее в разделе было записано, что автотестов нет и запуска в CI нет — это неверно. Фактически e2e-тесты живут в отдельном репозитории автотестов виджета: Playwright, сьюты auth, booking-flow, widget-settings; репозиторий заведён в GitLab и имеет собственный CI. Не покрыто ядро виджета: в widget-v3 остаётся единственный тривиальный unit-тест shared/lib/types/pascal-case-keys.test.ts. Решение по объёму: целевое покрытие — e2e плюс тесты API с проверкой соответствия ответов интерфейсу. То есть недостаточно проверять, что метод отвечает: тест сверяет, что виджет показывает клиенту именно то, что пришло в ответе. Такие проверки ловят как раз тот класс расхождений, который всплыл при этой сверке — значения темы, разъехавшиеся с контрактом, и подставные идентификаторы вместо реальных. Unit-тесты на сторы отдельной целью не ставятся. Требования зафиксированы в FR8.4-1…FR8.4-4.РазработкаЗакрыт

0 items under this folder.