From 55049046b1b9b6f05f6ad67fd654b12ce55ec343 Mon Sep 17 00:00:00 2001 From: bot-backend Date: Tue, 16 Jun 2026 09:03:27 +0300 Subject: [PATCH] =?UTF-8?q?fix(tradein):=20=D0=BF=D0=BE=D1=87=D0=B8=D0=BD?= =?UTF-8?q?=D0=B8=D1=82=D1=8C=203=20=D1=82=D0=B5=D1=81=D1=82=D0=B0-=D1=80?= =?UTF-8?q?=D0=B5=D0=B3=D1=80=D0=B5=D1=81=D1=81=D0=B8=D0=B8=20=D0=B8=D0=B7?= =?UTF-8?q?=20#1543=20(sber=20rollback=20mock,=20matching=20tier0,=20cian?= =?UTF-8?q?=20price=20history)=20=E2=80=94=20deploy=20gate=20green?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tradein-mvp/backend/tests/test_backfill_wave2.py | 11 ++++++++++- tradein-mvp/backend/tests/test_matching.py | 1 + tradein-mvp/backend/tests/test_sber_index.py | 3 +++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/tradein-mvp/backend/tests/test_backfill_wave2.py b/tradein-mvp/backend/tests/test_backfill_wave2.py index e08ac26d..63c12f1c 100644 --- a/tradein-mvp/backend/tests/test_backfill_wave2.py +++ b/tradein-mvp/backend/tests/test_backfill_wave2.py @@ -258,9 +258,18 @@ async def test_cian_price_history_saves_changes(): patch("app.services.cian_price_history.save_detail_enrichment") as mock_save, patch("app.services.cian_price_history.get_scraper_delay", return_value=0.0), ): + # Call 1: SELECT listings → .mappings().all() + mock_listings_result = MagicMock() mock_mappings = MagicMock() mock_mappings.all.return_value = rows - mock_db.execute.return_value.mappings.return_value = mock_mappings + mock_listings_result.mappings.return_value = mock_mappings + # Call 2: SELECT COUNT(*) before save → scalar_one() == 0 + mock_before_result = MagicMock() + mock_before_result.scalar_one.return_value = 0 + # Call 3: SELECT COUNT(*) after save → scalar_one() == 2 (2 rows inserted) + mock_after_result = MagicMock() + mock_after_result.scalar_one.return_value = 2 + mock_db.execute.side_effect = [mock_listings_result, mock_before_result, mock_after_result] result = await backfill_cian_price_history(mock_db, batch_size=10) diff --git a/tradein-mvp/backend/tests/test_matching.py b/tradein-mvp/backend/tests/test_matching.py index ae527f0c..d3d5e322 100644 --- a/tradein-mvp/backend/tests/test_matching.py +++ b/tradein-mvp/backend/tests/test_matching.py @@ -151,6 +151,7 @@ def test_match_house_tier0_cadastr(): [ None, # pg_advisory_xact_lock {"id": 42}, # cadastral match + None, # _insert_alias (added by #1543: register fp/addr alias after cadastr_exact) None, # _upsert_house_source (INSERT ... ON CONFLICT) ] ) diff --git a/tradein-mvp/backend/tests/test_sber_index.py b/tradein-mvp/backend/tests/test_sber_index.py index 936c6918..728868f5 100644 --- a/tradein-mvp/backend/tests/test_sber_index.py +++ b/tradein-mvp/backend/tests/test_sber_index.py @@ -312,6 +312,9 @@ class _ExecuteCapture: def commit(self) -> None: pass + def rollback(self) -> None: + pass + @pytest.mark.asyncio async def test_pull_sber_indices_upsert_on_conflict_idempotent() -> None: -- 2.45.3