From f010a360c5c9413ac16b243224973d9e0da36eba Mon Sep 17 00:00:00 2001 From: Daniel Roth Date: Fri, 15 May 2026 15:34:47 +0000 Subject: [PATCH] =?UTF-8?q?AuditRow=20opening=20and=20trickle=5Fvent=20fie?= =?UTF-8?q?lds=20are=20None=20on=20all=20rows=20=F0=9F=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/magic_plan/tests/test_audit_script.py | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/backend/magic_plan/tests/test_audit_script.py b/backend/magic_plan/tests/test_audit_script.py index e41ac0d3..5bf14596 100644 --- a/backend/magic_plan/tests/test_audit_script.py +++ b/backend/magic_plan/tests/test_audit_script.py @@ -2,6 +2,40 @@ 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_opening_and_trickle_vent_fields_are_none() -> None: + # Arrange — plan with one window so opening/trickle_vent fields are exercised + plan = Plan( + uid="x", + name=None, + floors=[ + Floor(level=0, name=None, rooms=[ + Room( + name="Living Room", + width_m=3.0, + length_m=4.0, + area_m2=12.0, + windows=[Window(width_m=1.0, height_m=1.0, area_m2=1.0, opening_type="side_hung")], + ), + ]), + ], + ) + + # Act + rows = _build_rows(plan) + + # Assert — all new forward-compatible fields default to None + data_row = next(r for r in rows if r.window_label is not None) + assert data_row.opening_count is None + assert data_row.opening_width_m is None + assert data_row.opening_height_m is None + assert data_row.opening_total_area_m2 is None + assert data_row.trickle_vent_blocked is None + assert data_row.trickle_vent_pictured is None + assert data_row.trickle_vent_effective_area is None + assert data_row.trickle_vent_count is None + assert data_row.trickle_vent_total_effective_area is None + + def test_build_rows_empty_plan_returns_empty_list() -> None: # Arrange plan = Plan(uid="x", name=None, floors=[])