name: employees description: | Сотрудники (ТЗ 2.7.1): CRUD, создание учётки с временным паролем, двухступенчатое удаление (увольнение → soft-delete), защита главного администратора и самого себя, tenant-изоляция. Критично (ТЗ 0.4): уволенный/удалённый сотрудник НЕ должен иметь возможности залогиниться — состояние Employee.IsActive обязано гасить логин связанного User. preconditions: reset_db: true smoke_login_super_admin: true steps: - id: step01_bootstrap title: "Орг A + логин админа + выбор не-админской роли" - id: step02_create_without_account title: "Создание сотрудника без учётки (createAccount=false) → UserId=null" - id: step03_create_with_account title: "Создание сотрудника с учёткой → temp password в ответе, User создан" - id: step04_email_required title: "createAccount=true без email → 400" - id: step05_duplicate_email title: "Дубль email при createAccount → 4xx" - id: step06_account_can_login title: "Новый сотрудник логинится временным паролем → 200" - id: step07_fire_blocks_login title: "Увольнение (DELETE) гасит логин: повторный login и refresh → 4xx" - id: step08_two_step_delete title: "Второй DELETE → soft-delete (IsDeleted), третий → 409" - id: step09_owner_self_protected title: "DELETE главного администратора (он же self) → 403" - id: step10_tenant_isolation title: "Админ орг A не видит и не удаляет сотрудника орг B → 404"