food-market/tests/e2e/reports/superadmin-console-2026-05-26T07-03-38-197Z.md
nns 6098c03e1a docs(e2e): итоговый отчёт 2026-05-26 — 15 сценариев зелёные (124 шага)
Полная регрессия всех сценариев + 6 новых областей этой сессии (employees,
roles, superadmin-console, platform-smtp, auth-password, security-edge).
За день исправлено 4 бага: уволенный сотрудник логинится (P0), конкурентное
проведение приёмки ломает инвариант (critical), refresh не гасится после
ротации (high), change-owner принимал короткий reason (medium). Нереализованный
по ТЗ функционал (отчёты/склад-документы/POS/permission-authz/login-ratelimit)
зафиксирован как Logic gaps.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-26 12:05:23 +05:00

86 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# E2E report: superadmin-console
Запущен: 2026-05-26T07:03:32.749Z
Длительность: 4.0с
**Итог:** 6 ✓ / 0 ✗ / 0 ⚠ / 0 ◯ (всего 6)
## ✓ Step step01_create_org_audited: Создание орг1 → 200 + запись CreateOrg в audit-log
Длительность: 1064мс
| Тип | Проверка | Результат |
|---|---|---|
| api | Создание орг1 → 200 | ✓ status=200 |
| api | audit-log содержит CreateOrg | ✓ actions=CreateOrg |
## ✓ Step step02_archive: Архив: неверное имя → 400, верное → 204, IsArchived=true + ArchiveOrg
Длительность: 268мс
| Тип | Проверка | Результат |
|---|---|---|
| api | Архив с неверным именем → 400 | ✓ status=400 |
| api | Архив с верным именем → 204 | ✓ status=204 |
| db | IsArchived=true, ArchivedAt задан | ✓ IsArchived=t |
| api | audit-log содержит ArchiveOrg | ✓ |
## ✓ Step step03_restore: Восстановление → 204, IsArchived=false + RestoreOrg
Длительность: 260мс
| Тип | Проверка | Результат |
|---|---|---|
| api | Восстановление → 204 | ✓ status=204 |
| db | IsArchived=false | ✓ IsArchived=f |
| api | audit-log содержит RestoreOrg | ✓ |
## ✓ Step step04_change_owner: Смена владельца: без reason → 400, reason<10 → 400, валидно → 204 + ChangeOwner
Длительность: 1064мс
| Тип | Проверка | Результат |
|---|---|---|
| api | Второй пользователь орг1 создан (кандидат во владельцы) | ✓ |
| api | change-owner без reason → 400 | ✓ status=400 |
| api | change-owner reason<10 400 | status=400 |
| api | change-owner валидный reason 204 | status=204 |
| db | AccountOwnerUserId обновлён на нового владельца | owner=72dc5c01-7e75-4fac-bb50-ae39bd958a6a |
| api | audit-log содержит ChangeOwner | actions=ChangeOwner,RestoreOrg,ArchiveOrg,CreateOrg |
## ✓ Step step05_hard_delete: Hard-delete: не-архив → 409, до retention → 409, retention=0 + верное имя → 204, юзеры деактивированы
Длительность: 1269мс
| Тип | Проверка | Результат |
|---|---|---|
| api | Орг2 создана | |
| api | Удаление неархивной орг 409 | status=409 |
| api | Удаление до retention 409 | status=409 {"error":"Доступно через 30 дней архива."} |
| api | Удаление с неверным именем 400 | status=400 |
| api | Удаление архивной (retention=0, верное имя) 204 | status=204 |
| db | Организация физически удалена | rows=0 |
| db | Юзеры отвязаны/деактивированы (нет привязки к удалённой орг) | before=1 stillLinked=0 |
## ✓ Step step06_audit_log_filters: audit-log: фильтр по org и actionType, ChangeOwner хранит reason
Длительность: 55мс
| Тип | Проверка | Результат |
|---|---|---|
| api | audit орг1 содержит CreateOrg/ArchiveOrg/RestoreOrg/ChangeOwner | actions=ChangeOwner,RestoreOrg,ArchiveOrg,CreateOrg |
| api | Фильтр actionType=DeleteOrg для орг2 возвращает запись | count=1 |
| api | Фильтр actionType отсекает прочее (все строки DeleteOrg) | types=DeleteOrg |
| api | ChangeOwner в журнале хранит reason | reason=Передача владения по тикету поддержки #4242 |
## Summary
- Passed: 6
- Failed: 0
- Warnings: 0
- Skipped: 0
## Critical bugs
Нет.