From 9b146dfaf43633e74af75aca3654077698bd1729 Mon Sep 17 00:00:00 2001 From: Khalim Conn-Kowlessar Date: Tue, 7 Jul 2026 11:39:10 +0000 Subject: [PATCH] =?UTF-8?q?An=20EPC=20without=20property=5Ftype=20falls=20?= =?UTF-8?q?back=20to=20its=20dwelling=5Ftype=20=F0=9F=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Fable 5 --- .../app/modelling/test_property_filters.py | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/tests/backend/app/modelling/test_property_filters.py b/tests/backend/app/modelling/test_property_filters.py index 22d7a204b..b9439cf51 100644 --- a/tests/backend/app/modelling/test_property_filters.py +++ b/tests/backend/app/modelling/test_property_filters.py @@ -196,6 +196,30 @@ def test_epc_numeric_property_type_codes_map_to_labels(db_engine: Engine) -> Non assert [p.property_id for p in resolved] == [coded] +def test_epc_without_property_type_falls_back_to_dwelling_type( + db_engine: Engine, +) -> None: + # arrange — cert lodged with no property_type column, only dwelling_type + with Session(db_engine) as session: + fallback = _seed_property(session, portfolio_id=814) + _seed_epc( + session, + property_id=fallback, + property_type=None, + dwelling_type="Bungalow", + ) + + # act + resolved = resolve_filtered_property_ids( + session, + portfolio_id=814, + filters=PropertyGroupFilters(property_types=["Bungalow"]), + ) + + # assert + assert [p.property_id for p in resolved] == [fallback] + + def test_postcode_filter_matches_exactly(db_engine: Engine) -> None: # arrange with Session(db_engine) as session: