From 0fc09aa14254b9274ee61fc584e7dea73473458d Mon Sep 17 00:00:00 2001 From: Khalim Conn-Kowlessar Date: Tue, 20 Jan 2026 22:39:00 +0000 Subject: [PATCH] fixing tests --- .../test_data/test_floor_attributes_cases.py | 2 +- .../test_hot_water_attributes_cases.py | 2 +- .../tests/test_fireplace_recommendations.py | 41 ++++++++++++------- 3 files changed, 29 insertions(+), 16 deletions(-) diff --git a/etl/epc_clean/tests/test_data/test_floor_attributes_cases.py b/etl/epc_clean/tests/test_data/test_floor_attributes_cases.py index 080f59be..c678c741 100644 --- a/etl/epc_clean/tests/test_data/test_floor_attributes_cases.py +++ b/etl/epc_clean/tests/test_data/test_floor_attributes_cases.py @@ -378,7 +378,7 @@ clean_floor_cases = [ }, { # This example gets remapped to another dwelling below - "description": "Above unheated space or full exposed", + "original_description": "Above unheated space or full exposed", 'thermal_transmittance': 0, 'thermal_transmittance_unit': 'w/m-¦k', 'is_assumed': False, 'is_to_unheated_space': False, 'is_to_external_air': False, 'is_suspended': False, 'is_solid': False, 'another_property_below': True, 'insulation_thickness': None diff --git a/etl/epc_clean/tests/test_data/test_hot_water_attributes_cases.py b/etl/epc_clean/tests/test_data/test_hot_water_attributes_cases.py index 18b97232..e9ae6561 100644 --- a/etl/epc_clean/tests/test_data/test_hot_water_attributes_cases.py +++ b/etl/epc_clean/tests/test_data/test_hot_water_attributes_cases.py @@ -226,7 +226,7 @@ hotwater_cases = [ {'original_description': 'Single-point gas water heater, standard tariff', 'heater_type': 'single-point gas', 'system_type': "water heater", 'thermostat_characteristics': None, 'heating_scope': None, 'energy_recovery': None, 'tariff_type': 'standard tariff', 'extra_features': None, - 'chp_systems': None, 'distribution_system': None, 'no_system_present': None, 'appliance': None + 'chp_systems': None, 'distribution_system': None, 'no_system_present': None, 'appliance': None, "assumed": False } ] diff --git a/recommendations/tests/test_fireplace_recommendations.py b/recommendations/tests/test_fireplace_recommendations.py index 7eb55b21..72e2ba8d 100644 --- a/recommendations/tests/test_fireplace_recommendations.py +++ b/recommendations/tests/test_fireplace_recommendations.py @@ -1,11 +1,28 @@ +import pytest +import datetime from backend.Property import Property from recommendations.FireplaceRecommendations import FireplaceRecommendations from etl.epc.Record import EPCRecord +@pytest.fixture +def fireplace_materials(): + return [ + {'id': 3591, 'type': 'sealing_fireplace', 'description': 'Sealing of an open fireplace', 'depth': 0.0, + 'depth_unit': None, 'cost': None, 'cost_unit': 'gbp_per_unit', 'r_value_per_mm': None, + 'r_value_unit': 'square_meter_kelvin_per_watt', 'thermal_conductivity': None, + 'thermal_conductivity_unit': None, 'link': 'Warm Front', + 'created_at': datetime.datetime(2025, 8, 15, 16, 31, 52, 995292), 'is_active': True, + 'prime_material_cost': None, 'material_cost': 0.0, 'labour_cost': 0.0, 'labour_hours_per_unit': 0.0, + 'plant_cost': 0.0, 'total_cost': 185.0, 'notes': None, 'is_installer_quote': True, 'innovation_rate': 0.0, + 'size': None, 'size_unit': None, 'includes_scaffolding': False, 'includes_battery': False, + 'battery_size': None} + ] + + class TestFirepaceRecommendations: - def test_no_fireplaces(self): + def test_no_fireplaces(self, fireplace_materials): epc_record = EPCRecord() epc_record.prepared_epc = { "number-open-fireplaces": 0, @@ -13,9 +30,7 @@ class TestFirepaceRecommendations: property_instance = Property(id=0, address="fake", postcode="fake", epc_record=epc_record) - recommender = FireplaceRecommendations( - property_instance=property_instance - ) + recommender = FireplaceRecommendations(property_instance=property_instance, materials=fireplace_materials) assert recommender.recommendation is None @@ -23,16 +38,15 @@ class TestFirepaceRecommendations: assert recommender.recommendation is None - def test_one_fireplace(self): + def test_one_fireplace(self, fireplace_materials): epc_record = EPCRecord() epc_record.prepared_epc = { "number-open-fireplaces": 1, } property_instance = Property(id=0, address="fake", postcode="fake", epc_record=epc_record) + property_instance.already_installed = [] - recommender = FireplaceRecommendations( - property_instance=property_instance - ) + recommender = FireplaceRecommendations(property_instance=property_instance, materials=fireplace_materials) assert recommender.recommendation is None @@ -40,18 +54,17 @@ class TestFirepaceRecommendations: assert recommender.recommendation assert recommender.recommendation[0]["type"] == "sealing_open_fireplace" - assert recommender.recommendation[0]["total"] == 235 + assert recommender.recommendation[0]["total"] == 185 - def test_multiple_fireplaces(self): + def test_multiple_fireplaces(self, fireplace_materials): epc_record = EPCRecord() epc_record.prepared_epc = { "number-open-fireplaces": 3, } property_instance = Property(id=0, address="fake", postcode="fake", epc_record=epc_record) + property_instance.already_installed = [] - recommender = FireplaceRecommendations( - property_instance=property_instance - ) + recommender = FireplaceRecommendations(property_instance=property_instance, materials=fireplace_materials) assert recommender.recommendation is None @@ -59,4 +72,4 @@ class TestFirepaceRecommendations: assert recommender.recommendation assert recommender.recommendation[0]["type"] == "sealing_open_fireplace" - assert recommender.recommendation[0]["total"] == 235 * 3 + assert recommender.recommendation[0]["total"] == 185 * 3