All checks were successful
CI Trade-In / changes (pull_request) Successful in 8s
CI / changes (pull_request) Successful in 8s
CI / backend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Has been skipped
CI Trade-In / browser-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Successful in 1m3s
CI Trade-In / backend-tests (pull_request) Successful in 3m57s
# Conflicts: # tradein-mvp/backend/data/sql/_manifest_applied.txt # tradein-mvp/frontend/src/components/trade-in/v2/fixtures.ts
61 lines
5.4 KiB
Text
61 lines
5.4 KiB
Text
# Объявленные пропуски сьюта tradein-mvp/backend.
|
||
#
|
||
# Пропуск, которого здесь нет, роняет прогон (хук в tests/conftest.py). Смысл: не
|
||
# запретить пропуски, а запретить НЕЗАМЕТНЫЕ. Проверка, которая тихо перестала
|
||
# исполняться, со временем расходится с кодом, и узнают об этом ровно тогда,
|
||
# когда на неё понадобилось опереться (#2722, #2729, #2740).
|
||
#
|
||
# Формат: один nodeid в строке, без «[параметров]»; `#` — комментарий.
|
||
# Прежде чем добавить строку, ответь: почему эту проверку нельзя выполнить ЗДЕСЬ
|
||
# и где она выполняется вместо этого. Нет ответа — это не пропуск, а дыра.
|
||
#
|
||
# Список — НАДмножество сред: в CI Postgres есть (ci-tradein.yml поднимает
|
||
# сервис-контейнер и собирает схему из backend/data/sql/), на ноутбуке без БД —
|
||
# нет. Запись, чей пропуск не случился, безвредна; пропуск без записи — нет.
|
||
|
||
# ── Реальный рендер PDF: нужны native-либы WeasyPrint (Pango/cairo/GObject) ────
|
||
# Где выполняется: внутри prod-образа — runner-stage tradein-mvp/backend/Dockerfile
|
||
# ставит libcairo2 + libpango-1.0-0 + libpangoft2-1.0-0:
|
||
# docker exec tradein-backend python -m pytest -q -m pdf_render tests/test_pdf_real_render.py
|
||
# На голом ubuntu-latest в ci-tradein.yml этих либ нет (apt-шага в job'е нет).
|
||
tests/test_pdf_real_render.py
|
||
|
||
# ── Тесты против живой Postgres ───────────────────────────────────────────────
|
||
# В CI они ИДУТ (postgres-сервис в ci-tradein.yml, #2745) — записи ниже нужны
|
||
# только для прогона на машине без БД. Именно эта группа разъехалась со схемой,
|
||
# пока не бежала нигде: #2740 (houses.url стал NOT NULL) и #2744
|
||
# (test_gar_flats_loader падал до первого утверждения). Поднять локально:
|
||
# docker run -d -p 5432:5432 -e POSTGRES_DB=tradein -e POSTGRES_USER=tradein \
|
||
# -e POSTGRES_PASSWORD=tradein postgis/postgis:16-3.4
|
||
# psql ... -f backend/data/sql/*.sql # порядок как в deploy-tradein.yml
|
||
tests/tasks/test_backfill_house_coords_from_listings.py::test_real_transfers_agreeing_coords_skips_scattered_and_is_idempotent
|
||
tests/tasks/test_cadastral_geo_match.py::test_real_knn_nearest_within_threshold_picked
|
||
tests/test_audit_api.py::test_real_accounts_and_analytics_aggregate_inserted_rows
|
||
tests/test_gar_flats_loader.py::test_upsert_and_canon_match_populates_gar_flat_count
|
||
tests/test_house_dedup_merge.py::test_real_canon_clusterkey_and_geo_guard_merge_semantics
|
||
tests/test_house_dedup_merge.py::test_real_fias_pass_cross_guard_and_identity_carryover
|
||
tests/test_house_dedup_merge.py::test_real_fias_pass_ignores_geo_guard
|
||
tests/test_house_dedup_merge.py::test_real_merge_is_reversible_via_journal
|
||
tests/test_house_dedup_merge.py::test_real_merge_repoints_dedups_deletes_and_is_idempotent
|
||
tests/test_user_events.py::test_real_record_event_inserts_row
|
||
|
||
# Приватность/ретеншн (#2547) — тот же `_live_session()`. Приехали в main
|
||
# параллельно с самим списком, поэтому первым же прогоном deploy-лэйна хук их и
|
||
# поймал: 4 проверки не исполнились и не были объявлены. Проверено против живой
|
||
# БД (схема из backend/data/sql/ по 233 включительно) — 29 passed, тесты живы.
|
||
tests/test_data_erasure.py::test_real_erase_by_phone_does_not_match_different_number
|
||
tests/test_data_erasure.py::test_real_erase_by_phone_finds_differently_formatted_number
|
||
tests/test_data_erasure.py::test_real_erase_by_phone_finds_ru_trunk_prefix_variant
|
||
tests/test_purge_expired_trade_in_data.py::test_real_purge_deletes_only_anonymous_expired_estimates
|
||
|
||
# Payments retention (PR #2754), deep-review MEDIUM finding 2026-08-06 — тот же
|
||
# `_live_session()`. Проверяют предполётную проверку purge против реального
|
||
# retain_until/payments состояния (здоровая оплаченная строка не поднимает
|
||
# тревогу и не блокирует джобу), не только SQL-текст.
|
||
tests/test_purge_expired_trade_in_data.py::test_real_preflight_ignores_healthy_paid_row_flags_only_anomaly
|
||
tests/test_purge_expired_trade_in_data.py::test_real_purge_not_wedged_by_healthy_paid_row
|
||
|
||
# Диагноз оборванного прогона (#2764) — тот же `_live_session()`. Проверяет, что
|
||
# дефолт mark_banned ('unknown') проходит CHECK-констрейнт из миграции 234:
|
||
# на мок-лэйне (deploy-tradein.yml, DSN-заглушка) констрейнта нет вовсе.
|
||
tests/test_2764_ban_kind_no_default.py::test_real_default_ban_kind_survives_the_check_constraint
|