mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-08 11:17:27 +00:00
_build_rows returns structured audit rows from a Plan 🟥
This commit is contained in:
parent
1488a60905
commit
0ce0228c31
2 changed files with 38 additions and 0 deletions
25
backend/magic_plan/audit_script.py
Normal file
25
backend/magic_plan/audit_script.py
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
from dataclasses import dataclass
|
||||
from typing import Optional
|
||||
|
||||
from datatypes.magicplan.domain.models import Plan
|
||||
|
||||
|
||||
@dataclass
|
||||
class AuditRow:
|
||||
floor_level: Optional[int] = None # set only on floor-separator rows
|
||||
room_name: Optional[str] = None
|
||||
room_width_m: Optional[float] = None
|
||||
room_length_m: Optional[float] = None
|
||||
room_area_m2: Optional[float] = None
|
||||
window_label: Optional[str] = None
|
||||
window_location: Optional[str] = None
|
||||
window_width_m: Optional[float] = None
|
||||
window_height_m: Optional[float] = None
|
||||
window_area_m2: Optional[float] = None
|
||||
window_opening_type: Optional[str] = None
|
||||
door_location: Optional[str] = None
|
||||
door_width_mm: Optional[float] = None
|
||||
|
||||
|
||||
def _build_rows(plan: Plan) -> list[AuditRow]:
|
||||
raise NotImplementedError
|
||||
13
backend/magic_plan/tests/test_audit_script.py
Normal file
13
backend/magic_plan/tests/test_audit_script.py
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
from datatypes.magicplan.domain.models import Door, Floor, Plan, Room, Window
|
||||
from backend.magic_plan.audit_script import AuditRow, _build_rows
|
||||
|
||||
|
||||
def test_build_rows_empty_plan_returns_empty_list() -> None:
|
||||
# Arrange
|
||||
plan = Plan(uid="x", name=None, floors=[])
|
||||
|
||||
# Act
|
||||
rows: list[AuditRow] = _build_rows(plan)
|
||||
|
||||
# Assert
|
||||
assert rows == []
|
||||
Loading…
Add table
Reference in a new issue