food-market/tests/e2e/reports/auth-edge-2026-05-26T06-28-29-427Z.md
nns f2f64646b1 docs(e2e): финальный системный отчёт 2026-05-26 — все 9 сценариев зелёные
Сводный отчёт systemic-2026-05-26.md + зелёные прогоны всех сценариев
(82 шага, 0 падений). За сессию исправлено: refresh-rotation (TokenId +
zero reuse-leeway), сериализуемое проведение приёмки против lost update,
MoySklad BaseUrl в конфиг. Покрыты впервые: конкурентность приёмок,
дашбордная выручка, импорт MoySklad (идемпотентность/маппинг). Зафиксированы
gap'ы по нереализованным отчётам (профит/ABC/экспорт, ТЗ 2.12).

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

4.3 KiB
Raw Blame History

E2E report: auth-edge

Запущен: 2026-05-26T06:28:24.035Z Длительность: 3.9с

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

✓ Step step01_bootstrap_admin: SuperAdmin создаёт орг + админа, получаем access+refresh

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

Тип Проверка Результат
api Initial login → 200 ✓ status=200
api Получили access + refresh

✓ Step step02_refresh_token_works: Refresh: старый access обменивается на новые access+refresh

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

Тип Проверка Результат
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)

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

Тип Проверка Результат
api Повторное использование старого refresh → 4xx ✓ status=400 error=invalid_grant

✓ Step step04_invalid_refresh_rejected: Невалидный refresh-token возвращает 400 invalid_grant

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

Тип Проверка Результат
api Случайный refresh → 4xx ✓ status=400 error=invalid_grant

✓ Step step05_tampered_jwt_rejected: JWT с подделанным org_id (изменён без переподписи) отшивается 401

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

Тип Проверка Результат
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

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

Тип Проверка Результат
api Login деактивированного → 4xx ✓ status=400
api Refresh деактивированного → 4xx ✓ status=400 error=invalid_grant

✓ Step step08_archived_org_blocks_login: Архивная организация: login существующего админа возвращает 400 invalid_grant

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

Тип Проверка Результат
api Архивация орг → 200/204 ✓ status=204
api Login юзера архивной орги → 4xx ✓ status=400 error=Организация удалена или архивирована. Обратитесь к владельцу.

✓ Step step09_duplicate_signup_blocked: Повторный signup с тем же email живой орги отвергается 400

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

Тип Проверка Результат
api Повторный signup на занятый email → 4xx ✓ status=400 {"error":"Пользователь с таким email уже зарегистрирован."}

✓ Step step10_orphan_signup_reactivates: Signup с email orphan-юзера (его org удалена) — реактивирует с новой org

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

Тип Проверка Результат
api First signup → 200/201 ✓ status=200 {"organizationId":"55892550-bc32-4284-8841-643b709a7b62","email":"orphan-1779776904034@example.kz"}
api Re-signup orphan email → 200/201 (реактивация) ✓ status=200 {"organizationId":"4a4b198c-0441-4576-a013-bfb583c5d95d","email":"orphan-1779776904034@example.kz"}
api Login после реактивации → 200 ✓ status=200

Summary

  • Passed: 10
  • Failed: 0
  • Warnings: 0
  • Skipped: 0

Critical bugs

Нет.