- 까닭: B03 파일입력 = 진행 판을 직접 조립(createWorkflowOverlays)해 서랍 맡김(setDrawerSteps)이 빠짐 ·
B02 · B10 · B11 · D01 · E01 = 일반 판이라 맡기는 쪽이 없음 · B01 = 10-26 새 틀(e505f4014)에서 옛 ☰ 구역 바로가기를 걷음
- 진행 판(createWorkflowOverlays)이 progressContent 를 받으면 서랍에 맡김 — 워크플로 판 · B03 한 자리
- ☰ 를 열 때 맡긴 목록이 없으면 기본 목록 = 🏠 대시보드 + 권한별 M01 · M02(mountSettingsDrawer 와 같은 한 벌) · 늦게 온 쪽 목록이 이김
- 터치 켬 서랍 진행 단계 줄 40 → 44(옆 규칙이 더 세어 덮던 것)
- 시험: helper_280_2 의 app_shell 대역은 workflow_layout 이 더는 안 불러 지움 · helper_359_2 에 overlay 용 대역 더함 · test_772_1 새로
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
40 lines
1.8 KiB
Python
40 lines
1.8 KiB
Python
"""772-1 ☰ 서랍 진행 단계 · 바로가기 칸 — 진행 판을 세우는 공용 자리 한 곳에서 맡김 · 안 맡긴 쪽은 기본 목록."""
|
|
|
|
from pathlib import Path
|
|
|
|
ROOT = Path(__file__).resolve().parents[2]
|
|
|
|
|
|
def _text(rel: str) -> str:
|
|
return (ROOT / rel).read_text(encoding="utf-8")
|
|
|
|
|
|
def test_진행_판을_세우면_서랍에_맡김():
|
|
overlay = _text("ui_template/ui_template_overlay.ts")
|
|
body = overlay.split("export function createWorkflowOverlays")[1]
|
|
assert (
|
|
"setDrawerSteps(options.progressContent)" in body.split("if (options.progressContent)")[1]
|
|
)
|
|
# 워크플로 판 · B03 은 진행 판(overlay)에만 맡김 — 따로 부르면 두 번
|
|
assert "setDrawerSteps" not in _text("ui_template/ui_template_workflow_layout.ts")
|
|
assert "setDrawerSteps" not in _text("B03_FileInput/B03_FileInput_UI_Page.ts")
|
|
assert "createWorkflowOverlays" in _text("B03_FileInput/B03_FileInput_UI_Page.ts")
|
|
|
|
|
|
def test_안_맡긴_쪽은_기본_목록():
|
|
shell = _text("A00_Common/app_shell.ts")
|
|
set_open = shell.split("const setOpen")[1].split("};")[0]
|
|
assert "if (open && !drawerSteps) void fillDefaultSteps();" in set_open
|
|
assert "steps.replaceChildren(drawerSteps.node)" in set_open
|
|
fill = shell.split("const fillDefaultSteps")[1].split("};")[0]
|
|
assert (
|
|
"defaultSettingsBar()" in fill
|
|
and "if (!bar || drawerSteps || !steps.isConnected) return;" in fill
|
|
)
|
|
nav = _text("A00_Common/m_settings_nav.ts")
|
|
default = nav.split("export async function defaultSettingsBar")[1].split("\n}")[0]
|
|
assert "fetchSessionUser" in default and 'settingsBar(user, "", null)' in default
|
|
# M01 · M02 와 같은 한 벌(pageLinks · createStepBar · 🏠)
|
|
bar = nav.split("function settingsBar")[1]
|
|
assert "pageLinks(user, companyId)" in bar and "homeButton: true" in bar
|