food-market/tests/e2e/scenarios/roles.yml
nns 688be30226 test(e2e): roles step08 проверяет permission-enforcement + rate-limit конфигурируем
- roles.steps.ts step08: было «задокументированный gap», стало реальная
  проверка — кастомная роль без ProductsEdit → 403 на PUT товара, GET → 200.
  Сценарий roles зелёный 8/8.
- RateLimiting:* конфиг (Enabled/PerMinute/PerHour): тесты с общим loopback-IP
  поднимают/выключают лимит, чтобы повторные логины не упирались в 429.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-27 02:41:52 +05:00

29 lines
1.5 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: roles
description: |
Роли сотрудников (ТЗ 2.7.2): системные роли созданы при bootstrap и не
удаляются; кастомная роль создаётся/редактируется; роль, занятая
сотрудниками, не удаляется (409); неиспользуемая удаляется. Permission-based
авторизация на эндпоинтах enforced (P0-5): роль без ProductsEdit → 403 на PUT товара.
preconditions:
reset_db: true
smoke_login_super_admin: true
steps:
- id: step01_bootstrap
title: "Орг A + логин админа"
- id: step02_system_roles_exist
title: "Системные роли (IsSystem=true) созданы — минимум 4"
- id: step03_create_custom_role
title: "Создание кастомной роли с правами → права сохранены"
- id: step04_update_permissions
title: "Изменение прав роли применяется (PUT)"
- id: step05_delete_system_role_409
title: "Удаление системной роли → 409"
- id: step06_delete_role_in_use_409
title: "Удаление роли, занятой сотрудником → 409"
- id: step07_delete_unused_role_ok
title: "Удаление неиспользуемой роли → 204/200"
- id: step08_permission_authz_enforced
title: "Permission-based authz enforced: роль без ProductsEdit → 403 на PUT товара"