food-market/tests/e2e/reports/documents-edge-2026-05-26T07-02-17-822Z.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.8 KiB
Markdown
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.

# E2E report: documents-edge
Запущен: 2026-05-26T07:02:13.560Z
Длительность: 3.1с
**Итог:** 10 ✓ / 0 ✗ / 0 ⚠ / 0 ◯ (всего 10)
## ✓ Step step01_bootstrap: SuperAdmin создаёт орг Test + admin, делаем product + supply (10 шт по 100 KZT)
Длительность: 1211мс
| Тип | Проверка | Результат |
|---|---|---|
| api | Орг + админ созданы | ✓ org=ddb8db28-039e-4f65-8f0d-62da5ce9c431 |
| api | Counterparty создан | ✓ |
| api | Product создан | ✓ 6d1eee5c-06aa-48a9-8690-b7dfbb7b6c3f |
| api | Supply Draft создана | ✓ e143e4b0-1278-41af-9f25-7a68630727b7 |
## ✓ Step step02_post_supply_stock_10: Supply провести: stock=10, ReferencePrice=100, Cost=100
Длительность: 86мс
| Тип | Проверка | Результат |
|---|---|---|
| api | Supply.Post → 200/204 | ✓ actual=204 |
| db | Stock.Quantity == 10 | ✓ qty=10 |
## ✓ Step step03_oversell_blocked: RetailSale qty=15 (больше остатка 10), POST /post возвращает 409
Длительность: 96мс
| Тип | Проверка | Результат |
|---|---|---|
| api | POST RetailSale Draft (qty=15) | ✓ actual=201 {"id":"5d3aad81-df91-459b-8a1c-bab9d7f1cc64","number":"ПР-2026-000001","date":"2026-05-26T07:02:16.056Z","status":0,"sto |
| api | POST /post → 409 (oversell) | ✓ actual=409 {"error":"Недостаточно остатка для проведения чека.","lines":[{"productId":"6d1eee5c-06aa-48a9-8690-b7dfbb7b6c3f","produ |
## ✓ Step step04_oversell_stock_unchanged: После заблокированного post stock остался 10, StockMovement не добавлен
Длительность: 267мс
| Тип | Проверка | Результат |
|---|---|---|
| db | Stock остался 10 после заблокированного post | ✓ qty=10 |
| db | Stock == Σ StockMovement (invariant) | ✓ sum=10 qty=10 |
## ✓ Step step05_payment_mismatch_blocked: RetailSale с PaidCash+PaidCard не равной Total отвергается на post
Длительность: 50мс
| Тип | Проверка | Результат |
|---|---|---|
| api | Платёж ≠ Total → 4xx на post | ✓ actual=400 {"error":"Сумма оплаты 300.00 меньше итога 400.00. Доплатите или измените позиции чека.","field":"PaidCash"} |
## ✓ Step step06_edit_posted_supply_blocked: PUT проведённой Supply (Posted) возвращает 409
Длительность: 65мс
| Тип | Проверка | Результат |
|---|---|---|
| api | PUT проведённой Supply → 409 | ✓ actual=409 {"error":"Только черновик может быть изменён. Сначала отмени проведение."} |
## ✓ Step step07_delete_posted_supply_blocked: DELETE проведённой Supply возвращает 409
Длительность: 34мс
| Тип | Проверка | Результат |
|---|---|---|
| api | DELETE проведённой Supply → 409 | ✓ actual=409 {"error":"Нельзя удалить проведённый документ. Сначала отмени проведение."} |
## ✓ Step step08_unpost_negative_blocked: После Sale qty=5 unpost Supply qty=10 возвращает 409 (stock минус)
Длительность: 153мс
| Тип | Проверка | Результат |
|---|---|---|
| api | Sale qty=5 проведён | ✓ actual=204 |
| api | Unpost Supply при stock<unpost-qty 409 | actual=409 {"error":"Нельзя отменить проведение: остаток уйдёт в минус (часть товара уже расходована).","lines":[{"productId":"6d1e |
## ✓ Step step09_barcode_unique_within_org: Дубль штрихкода в одной орге, POST второго product отвергается
Длительность: 16мс
| Тип | Проверка | Результат |
|---|---|---|
| api | POST product с тем же barcode 4xx | actual=400 {"error":"Штрихкод 208935890undefined5 уже используется товаром «Edge Product 1779778933560»."} |
## ✓ Step step10_barcode_per_tenant: Тот же штрихкод в другой орге допустим (per-tenant unique)
Длительность: 1085мс
| Тип | Проверка | Результат |
|---|---|---|
| api | POST product с тем же barcode в другой орге 201 | actual=201 {"id":"4bd355b5-11d0-4170-ab38-2ab2d885c725","name":"Tenant-2 product (same barcode)","article":"1","description":null," |
| db | В product_barcodes 2 записи с этим Code (одна на орг) | count=2 |
## Summary
- Passed: 10
- Failed: 0
- Warnings: 0
- Skipped: 0
## Critical bugs
Нет.