화면: 칸 빈 값 · 회색 「제안(비우면 안 정함): 성토면 · 기계 · 무한궤도 — 영월 실무…」 · 단추 누르면 칸만 바뀌고 저장값은 그대로 빈 값(저장 안 함) Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016VBGFXB9AbJBwXP19z75Qq
43 lines
2.1 KiB
Python
43 lines
2.1 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:
|
|
"""메인 976e5fd9 — `fill_suggested` {value, basis}. 비워 두면 「안 정함」 그대로(스스로 안 고름)."""
|
|
side = SIDE.read_text(encoding="utf-8")
|
|
assert "choices.fill_suggested" in side and "suggested.basis" in side
|
|
button = side.split("createButton(")[1]
|
|
assert "draft.face_dressing_fill_class = suggested.value" in button # 누른 때만 넣음
|
|
assert side.count("= suggested.value") == 2 # 단추 안의 칸·초안 둘뿐
|
|
assert "BenchCut" not in side # 층따기 문구(「KDS 토사 0.5 m」)를 빌려 쓰지 않음
|
|
|
|
|
|
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} 을 화면에 다시 적음"
|