- 새 B08_Quantity_UI_Drawing.ts · .css — 조합 목록 · 차례 = 집계표와 같음(B08_Quantity_Summary_Data.summaryColumns) - 한 장 = M02 항목 카드(createItemCards) 그대로 · 조합 원본 층 readTemplate 읽기만 · editable false · [저장] · [수정] 없음 - 안내 글 — 조합 없음 · M02 에 없는 조합 · 도번 없는 조합 - B08_Quantity_UI_Page.ts 2탭에 붙이는 두 줄 · locale_b4 글 넷 - 시험 test_61_2_b08_structure_sheets(탭 붙음 · 읽기만 · 같은 열 · 글 키) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W4uKaV4ZBhsJN4GHG7yRj4
29 lines
1.1 KiB
Python
29 lines
1.1 KiB
Python
"""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
|