mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-08 11:17:27 +00:00
98 lines
No EOL
2.1 KiB
Python
98 lines
No EOL
2.1 KiB
Python
from typing import Any
|
|
import pytest
|
|
from io import BytesIO
|
|
from openpyxl import Workbook
|
|
from datetime import datetime
|
|
import debugpy
|
|
|
|
from backend.condition.parsing.lbwf_parser import LbwfParser
|
|
from backend.condition.parsing.records.lbwf_property_condition import LbwfPropertyCondition
|
|
|
|
@pytest.fixture
|
|
def lbwf_homes_xlsx_bytes() -> BytesIO:
|
|
wb = Workbook()
|
|
houses_asset_data = wb.active
|
|
houses_asset_data.title = "Houses Asset Data"
|
|
houses_asset_data.append([
|
|
"PROP REF",
|
|
"Domna",
|
|
"ADDRESS",
|
|
"OWNERSHIP",
|
|
"PROP STATUS",
|
|
"PROP TYPE",
|
|
"PROP SUB TYPE",
|
|
"ELEMENT GROUP",
|
|
"ELEMENT CODE",
|
|
"ELEMENT CODE DESCRIPTION",
|
|
"ATTRIBUTE CODE",
|
|
"ATTRIBUTE CODE DESCRIPTION",
|
|
"ELEMENT DATE VALUE",
|
|
"ELEMENT NUMERIC VALUE",
|
|
"ELEMENT TEXT VALUE",
|
|
"QUANTITY",
|
|
"INSTALL DATE",
|
|
"REMAINING LIFE",
|
|
"ELEMENT COMMENTS"
|
|
]
|
|
)
|
|
|
|
houses_asset_data.append([
|
|
12345,
|
|
12345,
|
|
"123 Fake Street",
|
|
"LBWF_OWNED",
|
|
"OCCP",
|
|
"HOU",
|
|
"TERRACED",
|
|
"ASSETS",
|
|
"AHR_CAT",
|
|
"Accessible Housing Register Category",
|
|
"F",
|
|
"General Needs",
|
|
None,
|
|
None,
|
|
None,
|
|
1,
|
|
None,
|
|
None,
|
|
None,
|
|
])
|
|
houses_asset_data.append([
|
|
54321,
|
|
54321,
|
|
"100 Random Road",
|
|
"LBWF_OWNED",
|
|
"OCCP",
|
|
"HOU",
|
|
"EOT",
|
|
"ASSETS",
|
|
"INTSMKDET",
|
|
"Smoke Detectors in Property",
|
|
"HARDWRDMNS",
|
|
"Hard Wired Mains Smoke Alarm in Property",
|
|
None,
|
|
None,
|
|
None,
|
|
2,
|
|
datetime(2019,4,1),
|
|
4,
|
|
"Source of Data = Joe Bloggs",
|
|
])
|
|
|
|
stream = BytesIO()
|
|
wb.save(stream)
|
|
stream.seek(0)
|
|
|
|
return stream
|
|
|
|
def test_lbwf_parser_passes_houses(lbwf_homes_xlsx_bytes):
|
|
debugpy.wait_for_client()
|
|
# arrange
|
|
parser = LbwfParser()
|
|
|
|
# act
|
|
result: Any = parser.parse(lbwf_homes_xlsx_bytes)
|
|
|
|
# assert
|
|
assert len(result) == 2
|
|
assert isinstance(result[0], LbwfPropertyCondition) |