gendesign/tradein-mvp/backend
bot-backend ec8213c269
All checks were successful
CI Trade-In / changes (pull_request) Successful in 9s
CI Trade-In / browser-tests (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / changes (pull_request) Successful in 11s
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Has been skipped
CI Trade-In / backend-tests (pull_request) Successful in 5m11s
fix(payments): обрыв соединения и Init без PaymentURL перестают запирать покупателя
Три дыры в одном замке (строка без payment_url невидима для _find_live_payment,
но видима предикату UNIQUE 279 → ложный 409 на 30 минут):

- tbank_client ловил пару (TimeoutException, NetworkError): RemoteProtocolError,
  ProxyError и UnsupportedProtocol летели наружу голым httpx-типом мимо
  `except TBankApiError` в checkout. Ловим родителя — httpx.TransportError.
- Ветка «Success:true без PaymentURL» отвечала 502, не трогая статус, — здесь
  банк заказ ПРИНЯЛ. Тот же терминальный статус, error_code=no_payment_url;
  UPDATE вынесен в общий _mark_init_failed.
- _FakeDb в тестах применял статус по наличию ключа в params, а не по тексту
  SQL: мутант без `SET status = :status` оставался зелёным. Гейт по SQL —
  мутант краснит все три теста про замок.

Комментарий про «возможный холд» на ветке отказа Init поправлен: Init холд не
создаёт, авторизация идёт с оплаты формы, а форму покупателю не выдавали.
2026-09-06 00:11:35 +05:00
..
app fix(payments): обрыв соединения и Init без PaymentURL перестают запирать покупателя 2026-09-06 00:11:35 +05:00
data/sql fix(tradein/domclick): дом-поля едут в словаре ДОМ.РФ, а не сырьём Домклика 2026-09-05 23:17:50 +05:00
scripts бэктест: режим выборки вразброс — ORDER BY id DESC садится на несколько улиц 2026-08-31 11:28:11 +05:00
tests fix(payments): обрыв соединения и Init без PaymentURL перестают запирать покупателя 2026-09-06 00:11:35 +05:00
.dockerignore feat: add tradein-mvp subproject (Trade-In Estimator под /trade-in) 2026-05-21 00:25:39 +03:00
Dockerfile feat(tradein): версионирование продукта — единый источник, подвал, PDF, /versions (#2824) 2026-08-10 16:00:54 +00:00
pyproject.toml feat(observability): /metrics в обоих бэкендах — счётчики, задержка, дашборд 2026-08-26 11:30:18 +03:00