# 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 Нет.