_write_headers uses 25 columns, 2 rows, and "Doors" group label 🟥

This commit is contained in:
Daniel Roth 2026-05-15 15:36:16 +00:00
parent 70035e6e14
commit 4ba9d64c09

View file

@ -1,5 +1,6 @@
import openpyxl
from datatypes.magicplan.domain.models import Door, Floor, Plan, Room, Window
from backend.magic_plan.audit_script import AuditRow, _build_rows
from backend.magic_plan.audit_script import AuditRow, _build_rows, _write_headers
def test_build_rows_opening_and_trickle_vent_fields_are_none() -> None:
@ -233,3 +234,29 @@ def test_build_rows_room_name_in_location_on_every_row() -> None:
for row in data_rows:
assert row.window_location == "Kitchen"
assert row.door_location == "Kitchen"
def test_write_headers_two_rows_correct_labels_and_column_positions() -> None:
# Arrange
wb = openpyxl.Workbook()
ws = wb.active # type: ignore[assignment]
# Act
_write_headers(ws)
# Assert — group labels in row 1 at the new column positions
assert ws.cell(row=1, column=1).value == "Room"
assert ws.cell(row=1, column=6).value == "Window Area"
assert ws.cell(row=1, column=12).value == "Openings"
assert ws.cell(row=1, column=16).value == "Trickle Vents"
assert ws.cell(row=1, column=22).value == "Doors"
# Assert — "Door Undercuts" label no longer used
assert ws.cell(row=1, column=28).value is None
# Assert — only two header rows; row 3 is empty
assert ws.cell(row=3, column=1).value is None
assert ws.cell(row=3, column=13).value is None
# Assert — opening columns use self-describing labels (no "Opening 1" sub-header)
assert ws.cell(row=2, column=12).value == "No. of Openings"
assert ws.cell(row=2, column=13).value == "Opening Width m"
assert ws.cell(row=2, column=14).value == "Opening Height m"
assert ws.cell(row=2, column=15).value == "Total Area m²"