food-market/tests/e2e/reports/auth-edge-2026-05-26T07-02-25-461Z.md
nns 6098c03e1a docs(e2e): итоговый отчёт 2026-05-26 — 15 сценариев зелёные (124 шага)
Полная регрессия всех сценариев + 6 новых областей этой сессии (employees,
roles, superadmin-console, platform-smtp, auth-password, security-edge).
За день исправлено 4 бага: уволенный сотрудник логинится (P0), конкурентное
проведение приёмки ломает инвариант (critical), refresh не гасится после
ротации (high), change-owner принимал короткий reason (medium). Нереализованный
по ТЗ функционал (отчёты/склад-документы/POS/permission-authz/login-ratelimit)
зафиксирован как Logic gaps.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-26 12:05:23 +05:00

106 lines
4.3 KiB
Markdown
Raw Permalink 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.

# E2E report: auth-edge
Запущен: 2026-05-26T07:02:20.238Z
Длительность: 3.9с
**Итог:** 10 ✓ / 0 ✗ / 0 ⚠ / 0 ◯ (всего 10)
## ✓ Step step01_bootstrap_admin: SuperAdmin создаёт орг + админа, получаем access+refresh
Длительность: 1168мс
| Тип | Проверка | Результат |
|---|---|---|
| api | Initial login → 200 | ✓ status=200 |
| api | Получили access + refresh | ✓ |
## ✓ Step step02_refresh_token_works: Refresh: старый access обменивается на новые access+refresh
Длительность: 331мс
| Тип | Проверка | Результат |
|---|---|---|
| api | POST /connect/token (refresh) → 200 | ✓ status=200 |
| api | Новый access ≠ старый | ✓ |
| api | Новый refresh ≠ старый (rotation) | ✓ |
| api | Новый access → /api/me 200 | ✓ status=200 |
## ✓ Step step03_refresh_token_rotates: После refresh — старый refresh-token больше не работает (rotation)
Длительность: 127мс
| Тип | Проверка | Результат |
|---|---|---|
| api | Повторное использование старого refresh → 4xx | ✓ status=400 error=invalid_grant |
## ✓ Step step04_invalid_refresh_rejected: Невалидный refresh-token возвращает 400 invalid_grant
Длительность: 79мс
| Тип | Проверка | Результат |
|---|---|---|
| api | Случайный refresh → 4xx | ✓ status=400 error=invalid_grant |
## ✓ Step step05_tampered_jwt_rejected: JWT с подделанным org_id (изменён без переподписи) отшивается 401
Длительность: 24мс
| Тип | Проверка | Результат |
|---|---|---|
| api | Изменённый payload (подпись не сходится) → 401 | ✓ status=401 |
## ✓ Step step06_random_jwt_rejected: Случайный JWT-подобный токен из другого ключа отшивается 401
Длительность: 12мс
| Тип | Проверка | Результат |
|---|---|---|
| api | Случайный HS256 «JWT» → 401 | ✓ status=401 |
## ✓ Step step07_deactivated_user_blocked: Деактивация User.IsActive=false: повторный login и refresh возвращают 400
Длительность: 528мс
| Тип | Проверка | Результат |
|---|---|---|
| api | Login деактивированного → 4xx | ✓ status=400 |
| api | Refresh деактивированного → 4xx | ✓ status=400 error=invalid_grant |
## ✓ Step step08_archived_org_blocks_login: Архивная организация: login существующего админа возвращает 400 invalid_grant
Длительность: 373мс
| Тип | Проверка | Результат |
|---|---|---|
| api | Архивация орг → 200/204 | ✓ status=204 |
| api | Login юзера архивной орги → 4xx | ✓ status=400 error=Организация удалена или архивирована. Обратитесь к владельцу. |
## ✓ Step step09_duplicate_signup_blocked: Повторный signup с тем же email живой орги отвергается 400
Длительность: 39мс
| Тип | Проверка | Результат |
|---|---|---|
| api | Повторный signup на занятый email → 4xx | ✓ status=400 {"error":"Пользователь с таким email уже зарегистрирован."} |
## ✓ Step step10_orphan_signup_reactivates: Signup с email orphan-юзера (его org удалена) — реактивирует с новой org
Длительность: 1179мс
| Тип | Проверка | Результат |
|---|---|---|
| api | First signup → 200/201 | ✓ status=200 {"organizationId":"c41c2728-ce20-4205-840e-d465bbee537e","email":"orphan-1779778940238@example.kz"} |
| api | Re-signup orphan email → 200/201 (реактивация) | ✓ status=200 {"organizationId":"14bd0fa0-fcc2-404a-948b-b6980972ffa3","email":"orphan-1779778940238@example.kz"} |
| api | Login после реактивации → 200 | ✓ status=200 |
## Summary
- Passed: 10
- Failed: 0
- Warnings: 0
- Skipped: 0
## Critical bugs
Нет.