Built-form filter resolves with the same precedence as property type 🟥

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Khalim Conn-Kowlessar 2026-07-07 11:41:47 +00:00
parent 92370504da
commit d56079a1d4

View file

@ -258,6 +258,35 @@ def test_unknown_is_a_selectable_property_type_bucket(db_engine: Engine) -> None
assert [p.property_id for p in resolved] == [unknowable]
def test_built_form_filter_resolves_with_the_same_precedence(
db_engine: Engine,
) -> None:
# arrange — both lodged as code 4 (Mid-Terrace); one overridden to Detached
with Session(db_engine) as session:
overridden = _seed_property(session, portfolio_id=814)
_seed_epc(session, property_id=overridden, built_form="4")
_seed_override(
session,
property_id=overridden,
component="built_form_type",
value="Detached",
)
mid_terrace = _seed_property(session, portfolio_id=814)
_seed_epc(session, property_id=mid_terrace, built_form="4")
semi = _seed_property(session, portfolio_id=814)
_seed_epc(session, property_id=semi, built_form="2")
# act
resolved = resolve_filtered_property_ids(
session,
portfolio_id=814,
filters=PropertyGroupFilters(built_forms=["Detached", "Mid-Terrace"]),
)
# assert — the override wins for one; the code maps for the other
assert [p.property_id for p in resolved] == [overridden, mid_terrace]
def test_postcode_filter_matches_exactly(db_engine: Engine) -> None:
# arrange
with Session(db_engine) as session: