- 옮김: B04 2 · B05 23 · B06 11 · A00_Common/design 13 (9,299 줄) · 이미 logic/ 에 있던 16 파일 그대로 - 안 옮김: 묶음 입구(package.json build:*) · 파이썬 · 순수지만 계산 아닌 8 (보기 결선 · 콜백 · API 타입 · 갈아끼움 알림판) - import 266 줄(142 파일) · 시험 · 주석 · 짝 표시 문자열 경로 고침 · B05 · B06 CLAUDE.md 짝 줄 logic/ - 시험 도우미 새 경로: 가짜 require 열쇠 · B05()/B06() 부름 · 형제 import 자리 · tsc 묶어 돌리는 시험 · 정규식 · rglob - design_view_cross 줄 한도 시험 685 → 688 (긴 import 경로 줄바꿈 3줄) - 확인: typecheck 0 · 서버 묶음 넷(corridor · server-calc · b07-extent · b07-note) 다시 지어 코드 같음(//#region 경로 주석만 다름) · 관련 시험 270 파일 — 남은 실패 19 는 옮기기 전과 같음 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014utrjfoW831Vc5wJUd13kL
54 lines
1.8 KiB
Python
54 lines
1.8 KiB
Python
"""173-7 · 177-2 집수정 「동물이동형」 칸 — 고르기 유 / 무 · 저장 키 inlet_basin_animal("true"/"false") · 빈 값 = 유.
|
|
|
|
공용 명세 폼(`design_structure_form.ts`)을 그 자리에서 돌린 값(`helper_173_7_inlet_animal.cjs`)
|
|
+ 배관 폼 키 목록(`B05_Profile_UI_Drainage_Facility_Merge.ts`).
|
|
"""
|
|
|
|
import json
|
|
import subprocess
|
|
from pathlib import Path
|
|
|
|
import pytest
|
|
|
|
HERE = Path(__file__).parent
|
|
ROOT = HERE.parents[1]
|
|
|
|
|
|
@pytest.fixture(scope="module")
|
|
def out() -> dict:
|
|
if not (ROOT / "config" / "node_modules").is_dir():
|
|
pytest.skip("의존성 미설치")
|
|
done = subprocess.run( # noqa: S603 — 고정 실행 파일
|
|
["node", str(HERE / "helper_173_7_inlet_animal.cjs")],
|
|
capture_output=True,
|
|
text=True,
|
|
encoding="utf-8",
|
|
)
|
|
assert done.returncode == 0, done.stderr
|
|
return json.loads(done.stdout)
|
|
|
|
|
|
YU_MU = [["true", "유"], ["false", "무"]]
|
|
|
|
|
|
def test_빈_값은_유_실제_값으로_적힘(out: dict) -> None:
|
|
# 177-2 — 필수 상자 빈 고르기 칸 = 기본값을 실제 값으로(54-43) · 옛 「저장 안 함」 뒤집음
|
|
assert out["blank"] == {"value": "true", "options": YU_MU, "saved": "true"}
|
|
|
|
|
|
def test_무면_false_다시_유면_true(out: dict) -> None:
|
|
assert out["off"] == {"value": "false", "options": YU_MU, "saved": "false"}
|
|
assert out["on"] == {"value": "true", "options": YU_MU, "saved": "true"}
|
|
assert out["storedOff"] == {"value": "false", "options": YU_MU, "saved": "false"}
|
|
|
|
|
|
def test_흙막이엔_칸_없음(out: dict) -> None:
|
|
assert out["soil"] == {"shown": False, "saved": None}
|
|
|
|
|
|
def test_배관_폼_키_목록에_새_키() -> None:
|
|
merge = (
|
|
ROOT / "B05_Profile" / "logic" / "B05_Profile_UI_Drainage_Facility_Merge.ts"
|
|
).read_text("utf-8")
|
|
assert '"inlet_basin_animal"' in merge
|