From b865e89195d481f19eacea5072252bb1e96bc6e5 Mon Sep 17 00:00:00 2001 From: Khalim Conn-Kowlessar Date: Tue, 7 Jul 2026 11:33:29 +0000 Subject: [PATCH] =?UTF-8?q?Postcode=20filter=20matches=20the=20canonical?= =?UTF-8?q?=20postcode=20exactly=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 | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/tests/backend/app/modelling/test_property_filters.py b/tests/backend/app/modelling/test_property_filters.py index 613200dba..6b3e62685 100644 --- a/tests/backend/app/modelling/test_property_filters.py +++ b/tests/backend/app/modelling/test_property_filters.py @@ -47,3 +47,20 @@ def test_no_filters_resolves_the_whole_portfolio_minus_deletions( # assert assert resolved == [FilteredProperty(property_id=kept, postcode="B93 8SU")] assert deleted not in [p.property_id for p in resolved] + + +def test_postcode_filter_matches_exactly(db_engine: Engine) -> None: + # arrange + with Session(db_engine) as session: + in_area = _seed_property(session, portfolio_id=814, postcode="B93 8SU") + _elsewhere = _seed_property(session, portfolio_id=814, postcode="M20 4TF") + + # act + resolved = resolve_filtered_property_ids( + session, + portfolio_id=814, + filters=PropertyGroupFilters(postcodes=["B93 8SU"]), + ) + + # assert + assert [p.property_id for p in resolved] == [in_area]