food-market/tests/e2e/reports/documents-edge-2026-05-26T06-28-21-130Z.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.8 KiB
Raw Blame History

E2E report: documents-edge

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

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

✓ Step step01_bootstrap: SuperAdmin создаёт орг Test + admin, делаем product + supply (10 шт по 100 KZT)

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

Тип Проверка Результат
api Орг + админ созданы ✓ org=cdbad68a-b0fd-47ea-85dc-32272d39c2d8
api Counterparty создан
api Product создан ✓ 08c989ff-3ad7-4e14-beef-e6e744959e07
api Supply Draft создана ✓ 0c635259-abec-40fa-8087-a73054d8009a

✓ Step step02_post_supply_stock_10: Supply провести: stock=10, ReferencePrice=100, Cost=100

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

Тип Проверка Результат
api Supply.Post → 200/204 ✓ actual=204
db Stock.Quantity == 10 ✓ qty=10

✓ Step step03_oversell_blocked: RetailSale qty=15 (больше остатка 10), POST /post возвращает 409

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

Тип Проверка Результат
api POST RetailSale Draft (qty=15) ✓ actual=201 {"id":"85112d55-fd90-4a7d-9cb9-c4cb4509d3d3","number":"ПР-2026-000001","date":"2026-05-26T06:28:19.547Z","status":0,"sto
api POST /post → 409 (oversell) ✓ actual=409 {"error":"Недостаточно остатка для проведения чека.","lines":[{"productId":"08c989ff-3ad7-4e14-beef-e6e744959e07","produ

✓ Step step04_oversell_stock_unchanged: После заблокированного post stock остался 10, StockMovement не добавлен

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

Тип Проверка Результат
db Stock остался 10 после заблокированного post ✓ qty=10
db Stock == Σ StockMovement (invariant) ✓ sum=10 qty=10

✓ Step step05_payment_mismatch_blocked: RetailSale с PaidCash+PaidCard не равной Total отвергается на post

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

Тип Проверка Результат
api Платёж ≠ Total → 4xx на post ✓ actual=400 {"error":"Сумма оплаты 300.00 меньше итога 400.00. Доплатите или измените позиции чека.","field":"PaidCash"}

✓ Step step06_edit_posted_supply_blocked: PUT проведённой Supply (Posted) возвращает 409

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

Тип Проверка Результат
api PUT проведённой Supply → 409 ✓ actual=409 {"error":"Только черновик может быть изменён. Сначала отмени проведение."}

✓ Step step07_delete_posted_supply_blocked: DELETE проведённой Supply возвращает 409

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

Тип Проверка Результат
api DELETE проведённой Supply → 409 ✓ actual=409 {"error":"Нельзя удалить проведённый документ. Сначала отмени проведение."}

✓ Step step08_unpost_negative_blocked: После Sale qty=5 unpost Supply qty=10 возвращает 409 (stock минус)

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

Тип Проверка Результат
api Sale qty=5 проведён ✓ actual=204
api Unpost Supply при stock<unpost-qty → 409 ✓ actual=409 {"error":"Нельзя отменить проведение: остаток уйдёт в минус (часть товара уже расходована).","lines":[{"productId":"08c9

✓ Step step09_barcode_unique_within_org: Дубль штрихкода в одной орге, POST второго product отвергается

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

Тип Проверка Результат
api POST product с тем же barcode → 4xx ✓ actual=400 {"error":"Штрихкод 206899370undefined3 уже используется товаром «Edge Product 1779776896561»."}

✓ Step step10_barcode_per_tenant: Тот же штрихкод в другой орге допустим (per-tenant unique)

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

Тип Проверка Результат
api POST product с тем же barcode в другой орге → 201 ✓ actual=201 {"id":"4fe7e2aa-cef3-458b-ba34-984ce7af8f2e","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

Нет.