From 7b06d9dbab1c3c72ac5e60d518ca0b17ed8091ac Mon Sep 17 00:00:00 2001 From: Khalim Conn-Kowlessar Date: Thu, 25 Jun 2026 20:40:30 +0000 Subject: [PATCH] =?UTF-8?q?Map=20secondary=5Fheating=20on=20full-SAP=20cer?= =?UTF-8?q?ts=20for=20the=20calculator=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) --- datatypes/epc/domain/tests/test_from_sap_schema.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/datatypes/epc/domain/tests/test_from_sap_schema.py b/datatypes/epc/domain/tests/test_from_sap_schema.py index 0e9c5bc92..1f6afae21 100644 --- a/datatypes/epc/domain/tests/test_from_sap_schema.py +++ b/datatypes/epc/domain/tests/test_from_sap_schema.py @@ -116,6 +116,17 @@ class TestFromSapSchema17_1RebaselineFields: assert result.built_form == "1" + def test_maps_secondary_heating_element(self) -> None: + # secondary_heating is read by the calculator (cert_to_inputs) — dropping + # it under-counts a real secondary heater. The fixture lodges "None" (no + # secondary); assert it's carried through rather than silently dropped. + schema = from_dict(SapSchema17_1, load("sap_17_1.json")) + + result = EpcPropertyDataMapper.from_sap_schema_17_1(schema) + + assert result.secondary_heating is not None + assert result.secondary_heating.description == "None" + class TestFullSapHasHotWaterCylinderFallback: """Some full-SAP certs (e.g. SAP-Schema-17.0 cert 8265-7433-3220-9736-7902)