Files
Aislo/resources/tester/test_b08_face_dressing_fields_ui.py
T
eomsangdonandClaude Opus 5 6c61f5d5ac feat(b08): 산출 조건 면고르기 칸 넷 — 절토면 토질 · 성토면 시공·토질 고르기(서버 선택지 그대로 · 제안값 없음) + 면적 덮어쓰기 둘(비우면 파종 면적) · 메인 ee9368ec
배정 프로젝트: 절토면 토질을 고르고 [저장] → 내역 3-8-2 사유 「입력이 필요합니다」 → 「단가가 일부만 — 공기압축기(이동식) 3.5」 · 「안 정함」으로 되돌려 저장(네 칸 빈 값)

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016VBGFXB9AbJBwXP19z75Qq
2026-09-14 15:39:15 +09:00

33 lines
1.5 KiB
Python

"""면고르기 산출 조건 칸 넷 — 화면이 서버 선택지를 그대로 쓰고 [저장]에 네 키를 싣는지(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} 을 화면에 다시 적음"