10 шагов (ТЗ 2.7.1): создание без/с учёткой (temp password), email обязателен при createAccount, дубль email, логин новым сотрудником, увольнение гасит логин и refresh (P0-проверка), двухступенчатое удаление (fired → soft-delete → 409), защита главного администратора/самого себя, multi-tenant изоляция (чужой сотрудник → 404). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
34 lines
1.9 KiB
YAML
34 lines
1.9 KiB
YAML
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"
|