EPC-derived property type prefers lodged over predicted 🟥

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Khalim Conn-Kowlessar 2026-07-07 11:37:18 +00:00
parent 4967ddfb3e
commit 45dab78f4e

View file

@ -149,6 +149,34 @@ def test_property_type_override_beats_the_lodged_epc(db_engine: Engine) -> None:
assert [p.property_id for p in resolved] == [overridden]
def test_epc_property_type_prefers_lodged_over_predicted(db_engine: Engine) -> None:
# arrange — one property has both sources; the other only a prediction
with Session(db_engine) as session:
both = _seed_property(session, portfolio_id=814)
_seed_epc(session, property_id=both, source="lodged", property_type="House")
_seed_epc(
session, property_id=both, source="predicted", property_type="Bungalow"
)
predicted_only = _seed_property(session, portfolio_id=814)
_seed_epc(
session,
property_id=predicted_only,
source="predicted",
property_type="Bungalow",
)
# act
resolved = resolve_filtered_property_ids(
session,
portfolio_id=814,
filters=PropertyGroupFilters(property_types=["Bungalow"]),
)
# assert — 'both' resolves House (lodged wins); only the prediction-backed
# property is a Bungalow
assert [p.property_id for p in resolved] == [predicted_only]
def test_postcode_filter_matches_exactly(db_engine: Engine) -> None:
# arrange
with Session(db_engine) as session: