From 2b0b7eff911db511af5da4ff3d1e5553252f44fc Mon Sep 17 00:00:00 2001 From: Khalim Conn-Kowlessar Date: Mon, 29 Jun 2026 16:00:36 +0000 Subject: [PATCH] =?UTF-8?q?Add=20Electric=20room=20heaters=20as=20a=20cano?= =?UTF-8?q?nical=20landlord=20heating=20archetype=20=F0=9F=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.8 (1M context) --- .../domain/epc/test_main_heating_system_overlay.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/tests/domain/epc/test_main_heating_system_overlay.py b/tests/domain/epc/test_main_heating_system_overlay.py index e102336e..af31e810 100644 --- a/tests/domain/epc/test_main_heating_system_overlay.py +++ b/tests/domain/epc/test_main_heating_system_overlay.py @@ -318,6 +318,19 @@ def test_the_three_heating_overrides_compose_without_conflict() -> None: assert result.sap_heating.water_heating_fuel == 29 +def test_electric_room_heaters_member_decodes_to_the_room_heater_code() -> None: + # Arrange — the canonical landlord archetype for direct-acting room heaters + member = MainHeatingSystemType.ELECTRIC_ROOM_HEATERS + + # Act + simulation = main_heating_overlay_for(member.value, 0) + + # Assert — member value stays in lock-step with the overlay (code 691) + assert simulation is not None + assert simulation.heating is not None + assert simulation.heating.sap_main_heating_code == 691 + + @pytest.mark.parametrize( "member", [m for m in MainHeatingSystemType if m is not MainHeatingSystemType.UNKNOWN],