From 1a9a612a823c02db8ff1545ae05cb82c097b04e7 Mon Sep 17 00:00:00 2001 From: bot-backend Date: Thu, 17 Sep 2026 13:44:45 +0500 Subject: [PATCH] =?UTF-8?q?test(mera/estimator):=20=D1=82=D0=B5=D1=81?= =?UTF-8?q?=D1=82=D1=8B=20=D0=B4=D0=B5=D0=B4=D1=83=D0=BF=D0=B0=20#2291=20?= =?UTF-8?q?=D0=BD=D0=B5=20=D1=82=D1=80=D0=BE=D0=B3=D0=B0=D1=8E=D1=82=20?= =?UTF-8?q?=D1=84=D0=BB=D0=B0=D0=B3,=20=D0=BA=D0=BE=D1=82=D0=BE=D1=80?= =?UTF-8?q?=D1=8B=D0=B9=20#3556=20=D1=83=D0=B4=D0=B0=D0=BB=D1=8F=D0=B5?= =?UTF-8?q?=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Два новых теста класса 4 ставили monkeypatch.setattr(settings, "estimate_dedup_analogs_enabled", True). PR #3556 (#2378) удаляет это поле из Settings, и setattr по несуществующему атрибуту падает AttributeError. CI гоняет голову ветки, а не merge-ref, поэтому второй смерженный PR пришёл бы зелёным и уронил main. На main флаг и так ON по умолчанию (test_dedup_default_is_on), так что строки лишние при любом порядке мержа. Проверено: дифф PR, наложенный на голову #3556 (31c31f8f), до правки 2 failed / 144 passed (AttributeError), после 146 passed. Тесты не стали пустыми: откат префиксного регекса без флага даёт assert 4 == 1 и 1 == 2. Refs #2291 Co-Authored-By: Claude Opus 5 --- .../test_estimator_dedup_cross_source_2087.py | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/tradein-mvp/backend/tests/test_estimator_dedup_cross_source_2087.py b/tradein-mvp/backend/tests/test_estimator_dedup_cross_source_2087.py index 3b91ea57..6370d80c 100644 --- a/tradein-mvp/backend/tests/test_estimator_dedup_cross_source_2087.py +++ b/tradein-mvp/backend/tests/test_estimator_dedup_cross_source_2087.py @@ -1008,12 +1008,11 @@ def test_parse_street_house_hyphen_numbered_street(addr: str, expected: tuple[st assert estimator._parse_street_house(addr) == expected -def test_dedup_collapses_hyphen_numbered_street_four_sources( - monkeypatch: pytest.MonkeyPatch, -) -> None: +def test_dedup_collapses_hyphen_numbered_street_four_sources() -> None: # Один физлот в четырёх форматах: раньше avito/yandex давали ('', ''), cian — - # ('mkr жби', '40'), и слиться не мог никто. - monkeypatch.setattr(estimator.settings, "estimate_dedup_analogs_enabled", True) + # ('mkr жби', '40'), и слиться не мог никто. Флаг дедупа не трогаем: на main он + # ON по умолчанию (test_dedup_default_is_on), а #3556 удаляет его из Settings — + # setattr по несуществующему полю уронил бы тест при любом порядке мержа. addrs = [ ("avito", "ул. 40-летия Комсомола,32Г"), ("yandex", "Россия, Свердловская область, Екатеринбург, улица 40-летия Комсомола, 32Г"), @@ -1026,12 +1025,9 @@ def test_dedup_collapses_hyphen_numbered_street_four_sources( assert len(estimator._dedup_cross_source(lots)) == 1 -def test_dedup_hyphen_numbered_street_different_houses_stay_distinct( - monkeypatch: pytest.MonkeyPatch, -) -> None: +def test_dedup_hyphen_numbered_street_different_houses_stay_distinct() -> None: # Раньше cian ключевал все дома улицы как ('mkr жби', '40'): дома 8А и 35 с # одинаковыми этажом/площадью/ценой сливались в один лот. - monkeypatch.setattr(estimator.settings, "estimate_dedup_analogs_enabled", True) lots = [ _lot( source="cian",