mirror of
https://github.com/TronoSfera/Law.git
synced 2026-05-18 18:13:46 +03:00
9.8 KiB
9.8 KiB
E2E Backlog (P0 / P1 / P2) и Текущее Покрытие
Назначение
Файл раскладывает role-based матрицу /Users/tronosfera/Develop/Law/context/13_role_flows_test_matrix.md
в конкретный backlog Playwright-сценариев:
- приоритет (
P0,P1,P2); - статус покрытия (
Покрыто,Частично,Не покрыто); - что уже проверяется текущими e2e-спеками;
- что нужно дописать.
Текущее покрытие (сводно)
Уже есть e2e-спеки
/Users/tronosfera/Develop/Law/e2e/tests/admin_entry_flow.spec.js/Users/tronosfera/Develop/Law/e2e/tests/admin_role_flow.spec.js/Users/tronosfera/Develop/Law/e2e/tests/kanban_role_flow.spec.js/Users/tronosfera/Develop/Law/e2e/tests/lawyer_role_flow.spec.js/Users/tronosfera/Develop/Law/e2e/tests/public_client_flow.spec.js/Users/tronosfera/Develop/Law/e2e/tests/request_data_file_flow.spec.js
Legacy / к замене
/Users/tronosfera/Develop/Law/e2e/tests/admin_status_designer_flow.spec.js- относится к скрытому UI-конструктору переходов статусов;
- держать как legacy до физической зачистки backend/UI;
- в новом плане не расширять.
P0 (критические сквозные роли и деньги)
| ID | Сценарий | Роль | Покрытие | Текущий e2e | Что дописать |
|---|---|---|---|---|---|
| E2E-P0-01 | Лендинг -> создание заявки -> кабинет клиента | CLIENT | Покрыто |
public_client_flow |
добавить проверки важной даты и скрытия финансовых полей |
| E2E-P0-02 | Клиент чат + файл + предпросмотр + fallback невалидного PDF/TXT | CLIENT | Частично |
public_client_flow |
добавить отдельный spec на error/fallback preview и лимиты |
| E2E-P0-03 | Юрист: claim -> карточка заявки -> чат -> файл -> смена статуса | LAWYER | Частично |
lawyer_role_flow |
перевести смену статуса на новую модалку (статус, важная дата, комментарий, файл) |
| E2E-P0-04 | Юрист: запрос доп.данных (file) -> клиент загружает -> юрист видит выполнение |
LAWYER + CLIENT | Покрыто |
request_data_file_flow |
расширить на частичное заполнение и повторное дозаполнение |
| E2E-P0-05 | Канбан юриста: фильтр/сортировка + claim + переход в карточку | LAWYER | Покрыто |
kanban_role_flow |
добавить drag&drop смену статуса с важной датой |
| E2E-P0-06 | Админ: пользователи/темы/счета/availableTables | ADMIN | Частично |
admin_role_flow |
добавить статус-модалку, стоимость заявки, клиентский селектор |
| E2E-P0-07 | Полный цикл: клиент -> юрист -> терминальный статус -> клиент видит завершение | CLIENT + LAWYER | Не покрыто |
- | новый сквозной сценарий |
| E2E-P0-08 | Платежный цикл: счет -> оплата админом -> dashboard/выручка/зарплата | ADMIN | Не покрыто |
- | новый сценарий по счетам и дашборду |
| E2E-P0-09 | RBAC UI: клиент не видит служебные/финансовые поля | CLIENT | Частично |
косвенно в public_client_flow |
явные ассерт-проверки отсутствия элементов |
P1 (операционные сценарии и corner cases по ролям)
| ID | Сценарий | Роль | Покрытие | Текущий e2e | Что дописать |
|---|---|---|---|---|---|
| E2E-P1-01 | Клиент: 2-5 заявок на один телефон, переключение между заявками | CLIENT | Не покрыто |
- | новый spec multi-request switch |
| E2E-P1-02 | Клиент: OTP вход через модалку на лендинге (без JWT) | CLIENT | Не покрыто |
- | новый spec, без bypass verify-route или с controlled bypass |
| E2E-P1-03 | Клиент: ошибки загрузки файла (25MB/250MB/обрыв) | CLIENT | Не покрыто |
- | негативный spec (mock network + oversized fixture) |
| E2E-P1-04 | Клиент: слишком длинное/пустое сообщение | CLIENT | Не покрыто |
- | негативный spec по чату |
| E2E-P1-05 | Юрист: drag&drop в группу с несколькими статусами -> модалка выбора статуса | LAWYER | Не покрыто |
- | новый spec на канбан + модалку |
| E2E-P1-06 | Юрист: статус-модалка с историей статусов и важной датой | LAWYER | Не покрыто |
- | новый spec на карточку заявки |
| E2E-P1-07 | Юрист: терминальный статус (завершение) | LAWYER | Не покрыто |
- | добавить в lawyer_role_flow или отдельный spec |
| E2E-P1-08 | Юрист: не может редактировать заполненные клиентом доп.данные | LAWYER | Частично |
косвенно request_data_file_flow |
добавить явный запрет в UI |
| E2E-P1-09 | Админ: дашборд (выручка/расходы/плитки юристов/модалка статистики) | ADMIN | Частично |
admin_role_flow (только наличие секции) |
новый spec на метрики и модалку юриста |
| E2E-P1-10 | Админ: редактирование заявки (выбор клиента/создание нового, стоимость заявки) | ADMIN | Не покрыто |
- | новый spec на форму заявки |
| E2E-P1-11 | Админ: смена статуса заявки через новую модалку + важная дата | ADMIN | Не покрыто |
- | новый spec |
| E2E-P1-12 | Админ/LAWYER: просмотр PDF счета/вложения в iframe preview | ADMIN + LAWYER | Частично |
lawyer_role_flow, public_client_flow |
отдельный стабильный preview spec |
P2 (расширенный UX/regression/edge flows)
| ID | Сценарий | Роль | Покрытие | Текущий e2e | Что дописать |
|---|---|---|---|---|---|
| E2E-P2-01 | Клиент/юрист: unread индикаторы сообщений/файлов сбрасываются при открытии заявки | CLIENT + LAWYER | Частично |
lawyer_role_flow |
детальный spec на оба типа индикаторов |
| E2E-P2-02 | Канбан: фильтр по полям + сортировка + сохранение визуального состояния кнопок | LAWYER/ADMIN | Частично |
kanban_role_flow |
расширить перечень фильтров и сортировку |
| E2E-P2-03 | Universal dictionaries UI (CRUD справочников) после availableTables переключений |
ADMIN | Частично |
admin_role_flow |
вынести в отдельный regression spec |
| E2E-P2-04 | Tooltip/модалки/overflow layering regression | ADMIN | Не покрыто |
- | visual/smoke spec по tooltip overlay и scroll containers |
| E2E-P2-05 | Форма запроса данных: шаблон (создать/перезаписать/чужой readonly badge) | LAWYER | Частично |
request_data_file_flow (без шаблонов) |
отдельный spec на шаблоны |
| E2E-P2-06 | Клиент: невалидный PDF и .txt с кривым MIME -> fallback preview |
CLIENT | Не покрыто |
- | отдельный preview-fallback spec |
Приоритет реализации (рекомендуемый порядок)
Волна 1 (P0)
E2E-P0-03(обновитьlawyer_role_flowпод новую статус-модалку)E2E-P0-07(полный цикл клиент -> юрист -> завершение)E2E-P0-08(платежный цикл и dashboard)E2E-P0-09(явный RBAC UI check клиента)
Волна 2 (P1)
E2E-P1-05,E2E-P1-06,E2E-P1-07(канбан + статусы)E2E-P1-09,E2E-P1-10,E2E-P1-11(админские сценарии)E2E-P1-01,E2E-P1-03,E2E-P1-04(клиентские corner cases)
Волна 3 (P2)
- Preview fallback, tooltip/overflow regressions, шаблоны запросов данных
Политика чистки данных после тестов (важно)
- Все e2e-спеки должны регистрировать созданные
track/phone/emailи выполнять cleanup вafterEach. - Cleanup идет через локальный endpoint
/api/admin/test-utils/cleanup-test-data(толькоAPP_ENV != production). - Для не-e2e прогонов на рабочем dev-стенде использовать CLI:
docker compose exec -T backend python -m app.data.cleanup_test_artifacts
- Ручной сид (
TRK-MAN-*,lawyer*.manual@example.com) не подпадает под e2e cleanup-паттерны и должен сохраняться для приемки.