- 지움(git rm) 15 파일 3,318 줄: Hopyo_Check · CheckRows · Choose · WizardSk · SkApi · SkLines · logic/SkPick · logic/Draft · Left · Lost · Pick · SheetMake · Kids · ToItem · Compare(모두 옛 확인 창 · 마법사 단가산출 · 안 이은 줄 길 몫 · 부르는 곳 0) - 단추 판단: 엑셀 보기 [저장](체크 호표) · [모두 고정으로 들여오기] 화면 단추 걷음 → 만들기 = [옮기기] 하나 · 모두 고정 서버 길(Builder · build_all)은 B09 · 붙여넣기가 써서 남김 · 목록 체크 칸 · 모달 껍데기(openHopyoSheet · raise · lower) 걷음 - Import: 「안 이은 줄」 띠 · [안 이은 줄 고르기] · 남은 줄 셈 걷음 · [끝내기] = 물음(확인하고 안 옮긴 수 = 판정 고름 캐시 moveBody) - Api: 옛 맞춤 타입 · 길(readHopyoOne · guessHopyo · buildHopyo · buildHopyoAll · leftHopyo · listHopyoPicks · hopyoSiblings · buildHopyoItem …) 걷음 · POLL_MS · HOPYO_BUILT 옮겨 옴 · 목록 꼴 = 1차 판정 줄상태(Judge.view) - Labor_Pick: withHopyo(실무 호표 덧줄) → withSangeun(찾아 넣기 창 표시만) · Detail · Table 부름 바꿈 - Ledger: unitField 옮겨 옴 · SheetNav: 옛 확인 캐시 칠 걷음 · UI_Page: [구조물 조합으로] 듣기 걷음 - CSS: 옛 확인 창 · 고르기 창 규칙 34 걷음(481 → 287 줄) · 390 폭 = 줄 판 열리면 위 칸 넓힘 · 줄 판 높이 바닥 16rem 시험 정리(까닭 = 지운 화면 파일만 읽음): - 지움: test_729_3_hopyo_left_screen · test_746_2_hopyo_compare_screen · test_778_5_sk_pick_screen · helper_729_3 · helper_m02_hopyo_check · pick · seam - test_m02_hopyo_screen = 좌측 판 · 끝내기 둘만 · 627 · helper_778_5 = SheetSk 판 바꿈만 · 785_4 · 721 · 717_4 · 720 · 739_1 = 지금 꼴로 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
58 lines
3.8 KiB
Python
58 lines
3.8 KiB
Python
"""일위대가 실무자료 화면(PLAN 324-4 · 718-1 · 785-4) — 좌측 판 자리 · 권한 · 불러오기 본 칸 · [끝내기] · 떠남.
|
|
|
|
옛 확인 창 · 고르기 창 · [로직 추가] 「실무 호표」 · 엑셀 보기 모달 시험은 785-7 에서 지움(판정 화면 = `test_642_6_screen`).
|
|
"""
|
|
|
|
import os
|
|
from pathlib import Path
|
|
|
|
HERE = os.path.dirname(os.path.abspath(__file__))
|
|
M02 = Path(HERE).parents[1] / "M02_MasterTemplete"
|
|
def _text(name: str) -> str:
|
|
return (M02 / name).read_text(encoding="utf-8")
|
|
|
|
|
|
def test_좌측_판_자리와_권한():
|
|
side = _text("M02_MasterTemplete_UI_Side.ts")
|
|
assert 'import { buildHopyoSection } from "./M02_MasterTemplete_Hopyo_Side";' in side
|
|
host = side.split('className: "m02-side__lists ui-sidebar-panel"')[1]
|
|
# 716-3 차례 — 일위대가 › 구조물 조합 › 구분선 › 일위대가 불러오기 › 도면 양식
|
|
order = ("precomboSec,", "summary,", "createDivider(),", "section(hopyo.title, hopyo.body),")
|
|
assert [host.index(k) for k in order] == sorted(host.index(k) for k in order)
|
|
assert host.index("section(hopyo.title, hopyo.body),") < host.index("drawing,")
|
|
assert "canWrite: opt.canWrite," in side # 구조물 조합 층 쓰기 권한(720-4 함수)
|
|
assert "hopyo.paint();" in side.split("function paint(): void {")[1]
|
|
hopyo_side = _text("M02_MasterTemplete_Hopyo_Side.ts")
|
|
# 718-1 · 785-4 — 제목 = 화면 글 키 · [불러오기] = 구조물 조합 층 단추 꼴 → 바로 파일 고르기 → 본 칸 불러오기 보기
|
|
assert 'L("M02_HopyoImport")' in hopyo_side and "일위대가 실무자료" not in hopyo_side
|
|
start = hopyo_side.split("const start = createButton({")[1].split("start.title")[0]
|
|
assert 'label: "불러오기"' in start and 'start.classList.add("m02-layers__btn");' in start
|
|
assert "buildHopyoImport({" in hopyo_side and "Hopyo_Wizard" not in hopyo_side
|
|
assert not (M02 / "M02_MasterTemplete_Hopyo_Wizard.ts").exists() # 가운데 상세 페이지 없음
|
|
assert "uploadHopyo(" in hopyo_side and "openHopyoSheet" not in hopyo_side
|
|
assert (
|
|
"buildHopyoLedger({ scope: pageScope(), canWrite: opt.canWrite() })" in hopyo_side
|
|
) # [별칭 장부]
|
|
imp = _text("M02_MasterTemplete_Hopyo_Import.ts")
|
|
assert 'accept: ".xls,.xlsx"' in hopyo_side and "input.hidden = true;" in hopyo_side
|
|
choose = hopyo_side.split("async function choose()")[1].split("input.addEventListener")[0]
|
|
assert "input.click();" in choose # 누름 하나 — 바로 파일 고르기 창
|
|
assert "accessFor(layer, null, user).canWrite" in imp # 결과 층 = 쓸 수 있는 층만
|
|
assert 'let pick: ManageLayer = "personal";' in hopyo_side # 기본 개인
|
|
assert "layers.length > 1" in hopyo_side # 층 고름 = 둘 이상일 때만(일반 = 개인 하나)
|
|
for gone in ("wantSangeun", "STEPS", "second(", "steps.set", "data-hopyo-sangeun"):
|
|
assert gone not in imp + hopyo_side, gone # 중간 걸음 · 단가산출 체크 없음
|
|
|
|
|
|
def test_372_2_저장은_개인_층에_삭제는_화면_층_권한():
|
|
"""718-1 — 만들 층 = 올린 층 · [끝내기] 로 올린 파일 지움 → 빈 본 칸(785-4: 엑셀 보기 [삭제] 걷음) ·
|
|
743-1 — 떠남(화면 바뀜 · 페이지 닫음) = 쥔 파일 지움."""
|
|
imp = _text("M02_MasterTemplete_Hopyo_Import.ts")
|
|
open_ = imp.split("m.buildHopyoSheet({")[1].split("});")[0]
|
|
assert "target: scope," in open_ and "canWrite: true," in open_
|
|
assert "onDeleted" not in imp and "dropButton" not in _text("M02_MasterTemplete_Hopyo_Sheet.ts")
|
|
assert "a.onEnded();" in imp and "held = false;" in imp
|
|
assert 'addEventListener("pagehide", leave)' in imp and " leave,\n" in imp
|
|
panel = _text("M02_MasterTemplete_Hopyo_Side.ts")
|
|
assert panel.count("open?.imp?.leave()") == 2 and panel.count("open.imp?.leave()") == 1
|