food-market/tests/e2e/reports/employees-2026-05-26T07-03-24-714Z.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

4.1 KiB
Raw Permalink Blame History

E2E report: employees

Запущен: 2026-05-26T07:03:19.659Z Длительность: 3.6с

Итог: 10 ✓ / 0 ✗ / 0 ⚠ / 0 ◯ (всего 10)

✓ Step step01_bootstrap: Орг A + логин админа + выбор не-админской роли

Длительность: 1197мс

Тип Проверка Результат
api Орг A + не-админская роль найдены ✓ role=Кладовщик

✓ Step step02_create_without_account: Создание сотрудника без учётки (createAccount=false) → UserId=null

Длительность: 27мс

Тип Проверка Результат
api Создан без учётки → 200/201 ✓ status=200
api UserId = null ✓ userId=null
api generatedPassword отсутствует

✓ Step step03_create_with_account: Создание сотрудника с учёткой → temp password в ответе, User создан

Длительность: 351мс

Тип Проверка Результат
api Создан с учёткой → 200/201 ✓ status=200
api Temp password возвращён один раз
api UserId присвоен ✓ userId=75ef2110-7770-4256-9b7d-33be90b832de

✓ Step step04_email_required: createAccount=true без email → 400

Длительность: 13мс

Тип Проверка Результат
api createAccount=true без email → 400 ✓ status=400

✓ Step step05_duplicate_email: Дубль email при createAccount → 4xx

Длительность: 17мс

Тип Проверка Результат
api Дубль email → 4xx (rejected) ✓ status=400

✓ Step step06_account_can_login: Новый сотрудник логинится временным паролем → 200

Длительность: 282мс

Тип Проверка Результат
api Логин новым сотрудником → 200 ✓ status=200

✓ Step step07_fire_blocks_login: Увольнение (DELETE) гасит логин: повторный login и refresh → 4xx

Длительность: 581мс

Тип Проверка Результат
api Увольнение (DELETE) → 204 ✓ status=204
db Employee.IsActive=false (уволен) ✓ IsActive=f
db User.IsActive=false (логин погашен) ✓ User.IsActive=f
api Повторный login уволенного → 4xx ✓ status=400
api Refresh уволенного → 4xx ✓ status=400

✓ Step step08_two_step_delete: Второй DELETE → soft-delete (IsDeleted), третий → 409

Длительность: 262мс

Тип Проверка Результат
api Второй DELETE → 204 (soft-delete) ✓ status=204
db Employee.IsDeleted=true ✓ IsDeleted=t
api Третий DELETE → 409 (уже удалён) ✓ status=409

✓ Step step09_owner_self_protected: DELETE главного администратора (он же self) → 403

Длительность: 101мс

Тип Проверка Результат
api Главный администратор найден в списке ✓ owner=1c6f6673-4a67-464e-bf3e-00f71cdc8977
api DELETE главного администратора (он же self) → 403 ✓ status=403

✓ Step step10_tenant_isolation: Админ орг A не видит и не удаляет сотрудника орг B → 404

Длительность: 769мс

Тип Проверка Результат
api Сотрудник в орг B создан
api GET чужого сотрудника (орг B) из орг A → 404 ✓ status=404
api DELETE чужого сотрудника → 404 ✓ status=404

Summary

  • Passed: 10
  • Failed: 0
  • Warnings: 0
  • Skipped: 0

Critical bugs

Нет.