"""면고르기 산출 조건 칸 넷 — 화면이 서버 선택지를 그대로 쓰고 [저장]에 네 키를 싣는지(2026-09-14 메인 부탁). 서버(ee9368ec)는 `face_dressing_cut_class`·`face_dressing_fill_class`·`face_dressing_fill_area_m2`· `face_dressing_cut_area_m2` 를 받고 선택지는 `earthwork-table` 의 `face_dressing_choices` 로 내려줌. ⚠ 선택지를 화면에 다시 적으면 두 벌이 됨 — TS 에 갈래 이름이 없어야 함. """ from pathlib import Path ROOT = Path(__file__).resolve().parents[2] PAGE = (ROOT / "B08_Quantity" / "B08_Quantity_UI_Page.ts").read_text(encoding="utf-8") SIDE = ROOT / "B08_Quantity" / "B08_Quantity_UI_Side_FaceDressing.ts" KEYS = ( "face_dressing_cut_class", "face_dressing_fill_class", "face_dressing_fill_area_m2", "face_dressing_cut_area_m2", ) def test_저장에_네_키를_싣고_불러온다() -> None: for key in KEYS: assert f"{key}: draft.{key}" in PAGE, f"[저장]에 {key} 없음" assert f"{key}: (stored.{key}" in PAGE, f"불러오기에 {key} 없음" def test_선택지는_서버_목록_그대로() -> None: side = SIDE.read_text(encoding="utf-8") assert "appendFaceDressingFields(" in PAGE and "face_dressing_choices" in PAGE assert "choices.cut" in side and "choices.fill" in side for name in ("모래ㆍ사질토", "성토면 · 인력", "성토면 · 기계"): assert name not in side and name not in PAGE, f"갈래 이름 {name} 을 화면에 다시 적음"