33 lines
1.5 KiB
Python
33 lines
1.5 KiB
Python
# -*- coding: utf-8 -*-
|
|
"""508-2 ② B05 추천 노선 창 [재계산] — 저장본 없음(409) 안내 줄 옆 · 칸(제약 · 비중) 바꾼 뒤만 보임.
|
|
|
|
505-1 · 509-5 규칙 그대로 — 접근 = 저장본만 · 사용자가 누른 셈만 그 자리.
|
|
|
|
./venv/Scripts/python.exe -m pytest resources/tester/test_508_2_recommend_rerun.py -q
|
|
"""
|
|
|
|
import re
|
|
from pathlib import Path
|
|
|
|
ROOT = Path(__file__).resolve().parents[2]
|
|
REC = ROOT / "B05_Profile" / "B05_Profile_UI_RouteEdit_Recommend.ts"
|
|
|
|
|
|
def test_보임_규칙() -> None:
|
|
ts = REC.read_text(encoding="utf-8")
|
|
assert "rerun.hidden = !(missing || dirty);" in ts
|
|
assert "if (missing) stateEl.after(rerun);" in ts # 안내 줄(상태 줄) 옆
|
|
assert "else profileToggle.after(rerun);" in ts # 칸 바꿈 = 종단 반영 오른쪽(지금처럼)
|
|
run = ts.split("async function run(recompute = false)")[1].split("pills.forEach")[0]
|
|
assert "missing = false;" in run.split("try {")[0] # 새 셈마다 지움
|
|
assert "missing = message.includes(NOT_PREPARED_HEAD);" in run
|
|
assert 'rerun.addEventListener("click", () => void run(true));' in ts
|
|
|
|
|
|
def test_안내_글_머리_서버와_같음() -> None:
|
|
ts = REC.read_text(encoding="utf-8")
|
|
head = re.search(r'const NOT_PREPARED_HEAD = "([^"]+)";', ts).group(1)
|
|
py = (ROOT / "B05_Profile" / "B05_Profile_Router_RouteInitial.py").read_text(encoding="utf-8")
|
|
message = re.search(r'^NOT_PREPARED = "([^"]+)"', py, re.M).group(1)
|
|
assert message.startswith(head)
|