Law/context/14_e2e_backlog_prioritized.md
2026-02-26 18:55:02 +03:00

9.8 KiB
Raw Permalink Blame History

E2E Backlog (P0 / P1 / P2) и Текущее Покрытие

Назначение

Файл раскладывает role-based матрицу /Users/tronosfera/Develop/Law/context/13_role_flows_test_matrix.md в конкретный backlog Playwright-сценариев:

  1. приоритет (P0, P1, P2);
  2. статус покрытия (Покрыто, Частично, Не покрыто);
  3. что уже проверяется текущими e2e-спеками;
  4. что нужно дописать.

Текущее покрытие (сводно)

Уже есть e2e-спеки

  1. /Users/tronosfera/Develop/Law/e2e/tests/admin_entry_flow.spec.js
  2. /Users/tronosfera/Develop/Law/e2e/tests/admin_role_flow.spec.js
  3. /Users/tronosfera/Develop/Law/e2e/tests/kanban_role_flow.spec.js
  4. /Users/tronosfera/Develop/Law/e2e/tests/lawyer_role_flow.spec.js
  5. /Users/tronosfera/Develop/Law/e2e/tests/public_client_flow.spec.js
  6. /Users/tronosfera/Develop/Law/e2e/tests/request_data_file_flow.spec.js

Legacy / к замене

  1. /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)

  1. E2E-P0-03 (обновить lawyer_role_flow под новую статус-модалку)
  2. E2E-P0-07 (полный цикл клиент -> юрист -> завершение)
  3. E2E-P0-08 (платежный цикл и dashboard)
  4. E2E-P0-09 (явный RBAC UI check клиента)

Волна 2 (P1)

  1. E2E-P1-05, E2E-P1-06, E2E-P1-07 (канбан + статусы)
  2. E2E-P1-09, E2E-P1-10, E2E-P1-11 (админские сценарии)
  3. E2E-P1-01, E2E-P1-03, E2E-P1-04 (клиентские corner cases)

Волна 3 (P2)

  1. Preview fallback, tooltip/overflow regressions, шаблоны запросов данных

Политика чистки данных после тестов (важно)

  1. Все e2e-спеки должны регистрировать созданные track/phone/email и выполнять cleanup в afterEach.
  2. Cleanup идет через локальный endpoint /api/admin/test-utils/cleanup-test-data (только APP_ENV != production).
  3. Для не-e2e прогонов на рабочем dev-стенде использовать CLI:
docker compose exec -T backend python -m app.data.cleanup_test_artifacts
  1. Ручной сид (TRK-MAN-*, lawyer*.manual@example.com) не подпадает под e2e cleanup-паттерны и должен сохраняться для приемки.