mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-08 11:17:27 +00:00
56 lines
2 KiB
Python
56 lines
2 KiB
Python
import json
|
|
import os
|
|
|
|
import pytest
|
|
|
|
from backend.documents_parser.extractor import PasHubRdSapSiteNotesExtractor
|
|
from datatypes.epc.surveys.pashub_rdsap_site_notes import General, PasHubRdSapSiteNotes
|
|
|
|
FIXTURES = os.path.join(os.path.dirname(__file__), "fixtures")
|
|
|
|
|
|
def load_text_fixture() -> list[str]:
|
|
with open(os.path.join(FIXTURES, "site_notes_example_text.json")) as f:
|
|
return json.load(f)
|
|
|
|
|
|
class TestGeneral:
|
|
@pytest.fixture
|
|
def general(self) -> General:
|
|
return PasHubRdSapSiteNotesExtractor(load_text_fixture()).extract_general()
|
|
|
|
def test_epc_checked_before_assessment(self, general: General) -> None:
|
|
assert general.epc_checked_before_assessment is True
|
|
|
|
def test_epc_exists_at_point_of_assessment(self, general: General) -> None:
|
|
assert general.epc_exists_at_point_of_assessment is False
|
|
|
|
def test_inspection_date(self, general: General) -> None:
|
|
assert general.inspection_date == "2025-09-25"
|
|
|
|
def test_transaction_type(self, general: General) -> None:
|
|
assert general.transaction_type == "Grant-Scheme (ECO, RHI, etc.)"
|
|
|
|
def test_tenure(self, general: General) -> None:
|
|
assert general.tenure == "Rented Social"
|
|
|
|
def test_property_type(self, general: General) -> None:
|
|
assert general.property_type == "House"
|
|
|
|
def test_detachment_type(self, general: General) -> None:
|
|
assert general.detachment_type == "Mid-terrace"
|
|
|
|
def test_number_of_storeys(self, general: General) -> None:
|
|
assert general.number_of_storeys == 2
|
|
|
|
def test_number_of_extensions(self, general: General) -> None:
|
|
assert general.number_of_extensions == 1
|
|
|
|
def test_electricity_smart_meter(self, general: General) -> None:
|
|
assert general.electricity_smart_meter is True
|
|
|
|
def test_mains_gas_available(self, general: General) -> None:
|
|
assert general.mains_gas_available is True
|
|
|
|
def test_measurements_location(self, general: General) -> None:
|
|
assert general.measurements_location == "Internal"
|