food-market/tests/e2e/scenarios/employees.yml
nns 68ce968021 test(e2e): scenario employees — CRUD, увольнение гасит логин, tenant-изоляция
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>
2026-05-26 11:47:57 +05:00

34 lines
1.9 KiB
YAML
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.

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"