# E2E report: roles

Запущен: 2026-05-26T21:41:28.548Z
Длительность: 5.4с

**Итог:** 8 ✓ / 0 ✗ / 0 ⚠ / 0 ◯ (всего 8)

## ✓ Step step01_bootstrap: Орг A + логин админа

Длительность: 3002мс

| Тип | Проверка | Результат |
|---|---|---|
| api | Орг A + админ готовы | ✓  |

## ✓ Step step02_system_roles_exist: Системные роли (IsSystem=true) созданы — минимум 4

Длительность: 216мс

| Тип | Проверка | Результат |
|---|---|---|
| api | Системные роли (ядро Администратор/Кладовщик/Кассир) присутствуют, не удаляемы | ✓ system=[Администратор, Кладовщик, Кассир] |

## ✓ Step step03_create_custom_role: Создание кастомной роли с правами → права сохранены

Длительность: 194мс

| Тип | Проверка | Результат |
|---|---|---|
| api | Создание кастомной роли → 200/201 | ✓ status=201 |
| api | Права сохранены (productsView=true, productsEdit=false) | ✓ {"productsView":true,"productsEdit":false,"productsDelete":false,"productGroupsManage":false,"priceTypesManage":false,"unitsManage":false,"suppliesView":true,"suppliesEdit":false,"suppliesPost":false, |

## ✓ Step step04_update_permissions: Изменение прав роли применяется (PUT)

Длительность: 180мс

| Тип | Проверка | Результат |
|---|---|---|
| api | PUT прав роли → 200/204 | ✓ status=204 |
| api | Новое право productsEdit=true применилось | ✓ {"productsView":true,"productsEdit":true,"productsDelete":false,"productGroupsManage":false,"priceTypesManage":false,"unitsManage":false,"suppliesView":true,"suppliesEdit":false,"suppliesPost":false," |

## ✓ Step step05_delete_system_role_409: Удаление системной роли → 409

Длительность: 56мс

| Тип | Проверка | Результат |
|---|---|---|
| api | Системная роль найдена | ✓ Администратор |
| api | DELETE системной роли → 409 | ✓ status=409 |

## ✓ Step step06_delete_role_in_use_409: Удаление роли, занятой сотрудником → 409

Длительность: 447мс

| Тип | Проверка | Результат |
|---|---|---|
| api | Сотрудник с кастомной ролью создан | ✓ status=200 |
| api | DELETE занятой роли → 409 | ✓ status=409 |

## ✓ Step step07_delete_unused_role_ok: Удаление неиспользуемой роли → 204/200

Длительность: 61мс

| Тип | Проверка | Результат |
|---|---|---|
| api | Неиспользуемая роль создана | ✓  |
| api | DELETE неиспользуемой роли → 200/204 | ✓ status=204 |

## ✓ Step step08_permission_authz_enforced: Permission-based authz enforced: роль без ProductsEdit → 403 на PUT товара

Длительность: 1207мс

| Тип | Проверка | Результат |
|---|---|---|
| api | Роль «только просмотр» создана | ✓ status=201 |
| api | Сотрудник с логином и ролью создан | ✓ status=200 |
| api | PUT товара без ProductsEdit → 403 | ✓ status=403 |
| api | GET товаров с ProductsView → 200 | ✓ status=200 |

## Summary

- Passed: 8
- Failed: 0
- Warnings: 0
- Skipped: 0

## Critical bugs

Нет.

## Logic gaps

- ТЗ 2.7.2 ожидает 4-6 системных ролей, реально 3 (Phase4b_RolesSimplify): Администратор, Кладовщик, Кассир. Это намеренное упрощение, не баг — ТЗ устарело.
