HHRSH not offered to solid-biomass dwelling with mains_gas=True despite off-gas heating fuel 🟥

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Daniel Roth 2026-07-01 09:41:09 +00:00
parent a8821c9cdb
commit 0192dd8efd

View file

@ -119,6 +119,26 @@ def test_existing_heat_pump_dwelling_yields_no_hhr_storage_bundle() -> None:
assert recommend_heating(baseline, _StubProducts()) is None
def test_solid_biomass_dwelling_with_gas_connection_yields_hhr_storage_bundle() -> None:
# Arrange — wood-pellet heating (fuel 29, SAP code 691, category 10) with
# mains_gas=True. The mains_gas flag means gas is available at the street,
# not that the heating fuel is gas (property 742121 regression).
baseline: EpcPropertyData = _electric_storage_baseline()
main = baseline.sap_heating.main_heating_details[0]
main.main_fuel_type = 29 # wood pellets (bagged)
main.sap_main_heating_code = 691 # solid-fuel room heater
main.main_heating_category = 10 # room heaters — not heat pump (category 4)
baseline.sap_energy_source.mains_gas = True # gas available at street
# Act
recommendation: Recommendation | None = recommend_heating(baseline, _StubProducts())
# Assert — HHRSH is offered: off-gas-heated dwelling despite gas connection
assert recommendation is not None
options = {o.measure_type.value: o for o in recommendation.options}
assert "high_heat_retention_storage_heaters" in options
def test_hhr_storage_bundle_carries_the_product_cost_and_contingency() -> None:
# Arrange
baseline: EpcPropertyData = _electric_storage_baseline()