"""61-2 B08 2탭 구조물도 — 탭에 붙음 · 읽기만 · 집계표와 같은 조합 목록 · 안내 글 키.""" import re from pathlib import Path DRAWING = Path("B08_Quantity/B08_Quantity_UI_Drawing.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") def test_sheet_tab_wired(): assert 'tab === "sheet"' in PAGE and "renderStructureSheets(view, projectId)" in PAGE def test_read_only(): # 쓰는 길이 없음 — 저장 · 고침 · PUT/POST 없음 · 카드는 고칠 수 없음 for word in ("saveTemplate", "write:", "method:", "sheetEdit", "onImport", "onClear"): assert word not in DRAWING, word assert "editable: () => false" in DRAWING def test_same_columns_as_summary(): assert "summaryColumns(" in DRAWING and "./B08_Quantity_Summary_Data" in DRAWING 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_"), key