diff --git a/datatypes/magicplan/domain/mapper.py b/datatypes/magicplan/domain/mapper.py index 89bb3dc7..f674db6f 100644 --- a/datatypes/magicplan/domain/mapper.py +++ b/datatypes/magicplan/domain/mapper.py @@ -110,6 +110,7 @@ def _map_window_ventilation( def _map_door(wi: api.WallItem) -> Door: return Door( width_mm=round(wi.size.x * 1000, 0), + height_mm=0.0, ventilation=_map_door_ventilation(wi.custom_displayable_fields), ) diff --git a/datatypes/magicplan/domain/models.py b/datatypes/magicplan/domain/models.py index cef9a6d5..9beb3832 100644 --- a/datatypes/magicplan/domain/models.py +++ b/datatypes/magicplan/domain/models.py @@ -28,6 +28,7 @@ class Window: @dataclass class Door: width_mm: float + height_mm: float ventilation: Optional[DoorVentilation] = None diff --git a/datatypes/magicplan/domain/tests/test_mapper.py b/datatypes/magicplan/domain/tests/test_mapper.py index 65f83023..ce0b7e39 100644 --- a/datatypes/magicplan/domain/tests/test_mapper.py +++ b/datatypes/magicplan/domain/tests/test_mapper.py @@ -140,6 +140,12 @@ def test_door_width_rounded_to_2dp(plan: Plan) -> None: assert door.width_mm == 800.0 +def test_door_height_is_correct(plan: Plan) -> None: + # Kitchen doorhinged has size.z = 2.04 m = 2040 mm + door = plan.floors[0].rooms[0].doors[0] + assert door.height_mm == 2040.0 + + # --- Ventilation --- diff --git a/tests/repositories/magic_plan/test_magic_plan_postgres_repository.py b/tests/repositories/magic_plan/test_magic_plan_postgres_repository.py index d19896f2..7ae75724 100644 --- a/tests/repositories/magic_plan/test_magic_plan_postgres_repository.py +++ b/tests/repositories/magic_plan/test_magic_plan_postgres_repository.py @@ -40,7 +40,7 @@ def _plan() -> Plan: num_trickle_vents=2, ), ) - door = Door(width_mm=762.0, ventilation=DoorVentilation(undercut_mm=70.0)) + door = Door(width_mm=762.0, height_mm=2040.0, ventilation=DoorVentilation(undercut_mm=70.0)) room = Room( name="Living Room", width_m=4.0,