test(mera/estimator): тесты дедупа #2291 не трогают флаг, который #3556 удаляет

Два новых теста класса 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 <noreply@anthropic.com>
This commit is contained in:
bot-backend 2026-09-17 13:44:45 +05:00
parent 08216e4c43
commit 1a9a612a82

View file

@ -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",