배정 프로젝트: 절토면 토질을 고르고 [저장] → 내역 3-8-2 사유 「입력이 필요합니다」 → 「단가가 일부만 — 공기압축기(이동식) 3.5」 · 「안 정함」으로 되돌려 저장(네 칸 빈 값) Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016VBGFXB9AbJBwXP19z75Qq
33 lines
1.5 KiB
Python
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} 을 화면에 다시 적음"
|