|
All checks were successful
CI Trade-In / changes (pull_request) Successful in 7s
CI Trade-In / backend-tests (pull_request) Has been skipped
CI / changes (pull_request) Successful in 8s
CI Trade-In / browser-tests (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / frontend-tests (pull_request) Successful in 1m36s
CI / openapi-codegen-check (pull_request) Successful in 2m31s
CI / backend-tests (pull_request) Successful in 17m34s
Бэкенд ВСЕГДА присылает nspd_risk_zones — пустым списком, если ничего нет.
Условие показа в LandTab (`!== undefined`) поэтому истинно всегда, а ветка
zones.length === 0 рисовала ЗЕЛЁНУЮ плашку «Риски не обнаружены» с текстом
«Риск-зоны НСПД на участке не выявлены».
Пустой список неоднозначен: «слой опрошен, на участке чисто» и «слой не дал
ничего вообще» выглядят одинаково. Замер на проде 19.08: risks_count = 0 у ВСЕХ
669 дампов (для сравнения zouit_count > 0 у 581) — одиннадцать слоёв природного
риска ни разу не вернули ни одного объекта. То есть плашка показывалась всегда и
всегда без основания.
Провёл наружу risks_count из строки дампа (он уже вычитывался, в ответ не
попадал). Три состояния вместо двух:
risks_count > 0 -> «Риски не обнаружены» — законно, слой отработал
risks_count == 0 -> «Не проверено», нейтральным серым
risks_count is None -> «Не проверено» (дампа нет; None, а не 0, потому что
ноль означал бы «спросили и не нашли»)
layers_fetched наружу НЕ отдаю: append в nspd_client.py:956 стоит ДО запроса,
поэтому как признак «слой опрошен» он лжёт. Записано в коде, чтобы следующий
читатель не подхватил его как готовый признак.
Заодно счётчик слоя в тумблере карты: при пустом слое «н/д» вместо «0». Ноль в
одном ряду с измеренными «Конкуренты 14» и «Красные линии 2» читался как
измеренный ноль.
Тесты двусторонние: на origin/main обе проверки падают с «Unable to find an
element with the text: Не проверено»; два контроля (слой отработал → зелёная
плашка законна; зоны найдены → карточки) зелёные с обеих сторон.
Большой дифф CpLayerControlPanel.tsx (267 строк при правке в две) — работа
pre-commit prettier: файл НЕ проходил prettier уже на origin/main (проверено
отдельно), хук нормализовал его целиком, когда я его тронул. Тот же класс, что
расхождение ruff в #2864: хук гоняется только по staged-файлам, поэтому файлы,
которых давно не касались, остаются нестандартизованными.
tsc --noEmit rc=0 · vitest 35 файлов / 275 тестов rc=0 (перепрогнано ПОСЛЕ хуков)
pytest tests/test_quarter_dump_lookup.py: 23 passed
pytest tests/api/v1 (контракт ответа): 354 passed, 1 skipped, rc=0
Refs #2934
|
||
|---|---|---|
| .. | ||
| api | ||
| fixtures | ||
| integration | ||
| scrapers | ||
| scripts | ||
| services | ||
| smoke | ||
| sql | ||
| workers | ||
| __init__.py | ||
| _sentry_wiring_probe.py | ||
| conftest.py | ||
| skip_allowlist.txt | ||
| test_2464c_photos_session_release.py | ||
| test_2464c_timeout_guard_returns.py | ||
| test_admin_weight_profiles.py | ||
| test_app_logging.py | ||
| test_audit_middleware.py | ||
| test_auth_db.py | ||
| test_auth_session_guard.py | ||
| test_auth_session_service.py | ||
| test_concepts_stub.py | ||
| test_connection_capacity_loaders.py | ||
| test_eesk_reserve_loader.py | ||
| test_eias_heat_loader.py | ||
| test_ekb_geoportal_client.py | ||
| test_ekgas_outlet_loader.py | ||
| test_gas_grs_loader.py | ||
| test_gate_verdict.py | ||
| test_gisogd66_loader.py | ||
| test_health.py | ||
| test_layout_signature.py | ||
| test_layout_tz_html.py | ||
| test_layout_tz_pdf.py | ||
| test_network_obremenenie.py | ||
| test_network_zone_humanize.py | ||
| test_noise_loader.py | ||
| test_nspd_client.py | ||
| test_nspd_sync.py | ||
| test_ors_client.py | ||
| test_osm_tp_geocoder.py | ||
| test_osrm_client_local.py | ||
| test_ping.py | ||
| test_poi_score.py | ||
| test_quarter_dump_lookup.py | ||
| test_rbac.py | ||
| test_riasurt_sverdl_client.py | ||
| test_saturation.py | ||
| test_sentry_init.py | ||
| test_skip_guard_loud.py | ||
| test_utility_infrastructure_loader.py | ||
| test_velocity.py | ||
| test_weight_profiles.py | ||