Files
Aislo/resources/tester/test_61_2_b08_structure_sheets.py
T

48 lines
2.2 KiB
Python

"""61-2 · 95-3 B08 구조물도 모달 — 집계표 행에서 열림 · 읽기만 · 집계표와 같은 조합 목록 · 안내 글 키."""
import re
from pathlib import Path
DRAWING = Path("B08_Quantity/B08_Quantity_UI_Drawing.ts").read_text(encoding="utf-8")
SUMMARY = Path("B08_Quantity/B08_Quantity_UI_Summary.ts").read_text(encoding="utf-8")
PAGE = Path("B08_Quantity/B08_Quantity_UI_Page.ts").read_text(encoding="utf-8")
LOCALE = Path("ui_template/ui_template_locale_b4.ts").read_text(encoding="utf-8")
LOCALE_B2 = Path("ui_template/ui_template_locale_b2.ts").read_text(encoding="utf-8")
def test_sheet_tab_gone_modal_wired():
# 구조물도 탭 없음 · 집계표 행 누름이 모달을 늦게 불러 엶
assert '"sheet"' not in PAGE and "renderStructureSheets" not in PAGE
assert "B08_Quantity_Tab_StructureSheet" not in PAGE + LOCALE + LOCALE_B2
assert "onRowClick" in SUMMARY and 'import("./B08_Quantity_UI_Drawing")' in SUMMARY
assert "combosAt(things, station)" in SUMMARY
def test_modal_own_class_and_cleanup():
css = Path("B08_Quantity/B08_Quantity_UI_Drawing.css").read_text(encoding="utf-8")
assert "wide: true" in DRAWING and "min(1320px" not in css # 공용 큰 창(156-4)
assert "beforeClose" in DRAWING and "cards.destroy()" in DRAWING
assert 'dialogClass: "b08-sheets"' in DRAWING
def test_no_layer_write():
# 층 쓰기 · 카드 안 저장 없음 — 고침은 [수정] → 사본 편집 화면만(163-3 · 사본 PUT)
for word in ("saveTemplate", "write:", "method:", "sheetEdit", "onImport", "onClear"):
assert word not in DRAWING, word
assert "editable: () => true" in DRAWING
def test_copy_only():
# 143-1 — 연결된 사본만(그룹은 `{id}__{그룹}` 사본) · 없으면 「사본 없음」 · M02 층 폴백 없음
assert (
"request.linked[combo.copyId]" in DRAWING
and "sourceOf(request.projectId, copy.폴더)" in DRAWING
)
assert "readTemplate" not in DRAWING and "FromMaster" not in DRAWING
assert "사본 없음" in LOCALE
def test_locale_keys_exist():
for key in set(re.findall(r'L\("([A-Za-z0-9_]+)"\)', DRAWING)):
assert f"{key}:" in LOCALE or key.startswith(("B08_Quantity_Summary_", "Common_")), key