8 KiB
8 KiB
Реестр приёмочных сценариев (Acceptance Tests) Krona Control Center
Все приёмочные сценарии автоматизированы в Playwright E2E сьюте (e2e/11-control-center.spec.ts) и покрывают как функциональные требования, так и устойчивость интерфейса.
Сценарий 1: Поиск организации и открытие 360° Инспектора
- Предусловия: Оператор находится на странице
/control/organizations. - Шаги:
- Ввести в поле поиска
"Северная". - Убедиться, что в таблице отображается только «Северная Ритейл Группа».
- Нажать кнопку
"360° Карточка".
- Ввести в поле поиска
- Ожидаемый результат:
- Открывается боковой Drawer инспектора с карточкой организации, ИНН, датой регистрации.
- Доступны вкладки «Обзор», «Модули», «Инсталляции», «Биллинг».
- Переключение на вкладку «Модули» отображает установленные версии модулей и их статус.
Сценарий 2: Подтверждение опасного действия с обязательным обоснованием
- Предусловия: Открыт 360° инспектор организации.
- Шаги:
- Нажать кнопку
"Выдать Trial +14 дней". - Проверить появление модального диалога
ConfirmOperatorAction. - Проверить, что кнопка подтверждения отключена при пустом поле обоснования.
- Ввести обоснование
"Запрос от аккаунт-директора на пилотное тестирование филиала". - Нажать
"Подтвердить операцию".
- Нажать кнопку
- Ожидаемый результат:
- Диалог закрывается, дата окончания trial продлевается на 14 дней.
- В журнал аудита добавляется запись с SHA-256 хешем и введенным обоснованием.
Сценарий 3: Фильтрация подписок, истекающих в течение 7 дней
- Предусловия: Оператор открывает раздел
/control/billing. - Шаги:
- Активировать быстрый фильтр
"Истекают в течение 7 дней".
- Активировать быстрый фильтр
- Ожидаемый результат:
- Таблица фильтруется, остаётся только «ТехноПарк Восток» (срок окончания подписки через 2 дня).
- Отображается сумма регулярного платежа в рублях через
MoneyDisplay.
Сценарий 4: Мониторинг терминалов и выявление устаревших Android-касс
- Предусловия: Переход в
/control/installations. - Шаги:
- Нажать на быстрый фильтр
"Устаревшие версии". - Проверить строки с бейджем
"Устарело"(POS-терминал кассы №4, Android 11, клиент v1.8.4). - Нажать действие
"Отозвать токен".
- Нажать на быстрый фильтр
- Ожидаемый результат:
- Открывается окно подтверждения с фиксацией отзыва токена устройства.
Сценарий 5: Мониторинг узлов кластера и сбой Server Monitor (Circuit Breaker)
- Предусловия: Переход в
/control/infrastructure. - Шаги:
- Проверить список нод:
node-krona-prod-01,node-krona-prod-02,node-krona-prod-03. - В шапке нажать кнопку симуляции
"Simulate SM Outage".
- Проверить список нод:
- Ожидаемый результат:
- Вверху экрана появляется предупреждающий баннер
Server Monitor Unreachable (Fallback to Local Cache). - Все экраны сохраняют интерактивность и читают данные из последнего валидного снимка IndexedDB.
- Вверху экрана появляется предупреждающий баннер
Сценарий 6: Создание инцидента из критического алерта
- Предусловия: Переход в
/control/incidents. - Шаги:
- В списке обнаруженных аномалий выбрать
"Деградация p99 latency в кластере баз данных". - Нажать
"Создать инцидент P1". - Заполнить описание и назначить дежурного инженера.
- В списке обнаруженных аномалий выбрать
- Ожидаемый результат:
- Инцидент регистрируется со статусом
Investigatingи уровнемP1 Critical.
- Инцидент регистрируется со статусом
Сценарий 7: Публикация таргетированного системного оповещения
- Предусловия: Переход в
/control/announcements. - Шаги:
- Заполнить форму объявления: заголовок
"Плановое ночное техобслуживание", уровеньWarning. - Нажать кнопку
"Опубликовать". - В модальном окне ввести причину публикации.
- Заполнить форму объявления: заголовок
- Ожидаемый результат:
- Оповещение появляется в списке активных трансляций.
Сценарий 8: Управление Rollout-конвейером (Пауза / Возобновление)
- Предусловия: Переход в
/control/modules. - Шаги:
- Выбрать модуль с активной раскаткой («Омниканальные коммуникации», фаза Pilot).
- Нажать
"Поставить на паузу". - Ввести причину в модальном диалоге.
- Ожидаемый результат:
- Статус раскатки переходит в
"На паузе", конвейер замораживается.
- Статус раскатки переходит в
Сценарий 9: Смена роли оператора и проверка соблюдения RBAC
- Предусловия: Открыт любой раздел Control Center.
- Шаги:
- В переключателе сессии в шапке выбрать роль
"Аудитор безопасности". - Перейти в раздел
/control/modules.
- В переключателе сессии в шапке выбрать роль
- Ожидаемый результат:
- Кнопки запуска и остановки раскатки становятся неактивными (
disabled) для аудитора. - Повторное переключение на
"Владелец платформы"восстанавливает полный доступ.
- Кнопки запуска и остановки раскатки становятся неактивными (
Сценарий 10: Сохранение состояния при перезагрузке страницы (IndexedDB)
- Предусловия: В журнал аудита добавлены записи операторских действий.
- Шаги:
- Зафиксировать количество строк в журнале
/control/audit. - Выполнить полную перезагрузку страницы в браузере (
F5/page.reload()).
- Зафиксировать количество строк в журнале
- Ожидаемый результат:
- Интерфейс восстанавливает данные из локальной базы IndexedDB.
- Количество строк журнала аудита и SHA-256 хеши сохраняются неизменными.