"""PLAN 538 [?] 사용자 가이드 — 변환 글 · 그림 내려주기 · 바로 고침. 짝: `ui_template/ui_template_help.ts`(`renderHelpMarkdown`) — `helper_538_help_render.cjs` 가 Node 로 돌림 · `common_util/common_util_help_router.py`(GET /api/help · 그림 · PUT · POST). """ from __future__ import annotations import json import os import shutil import subprocess import tempfile from pathlib import Path import pytest from fastapi import FastAPI from fastapi.testclient import TestClient from common_util import common_util_help_router as help_router from common_util.common_util_auth import verify_session HERE = os.path.dirname(__file__) @pytest.fixture(scope="module") def html() -> dict: proc = subprocess.run( # noqa: S603 — 고정 실행 파일 ["node", os.path.join(HERE, "helper_538_help_render.cjs")], capture_output=True, text=True, encoding="utf-8", timeout=60, ) assert proc.returncode == 0, proc.stderr return json.loads(proc.stdout) def test_덩어리마다_원문_줄(html) -> None: admin = html["admin"] for tag in [ '

', '

', '

첫 문단 [표준 횡단](B06/00_설명서)") def test_그림_상자_링크(html) -> None: admin, user = html["admin"], html["user"] assert ( '화면 통째' in admin ) assert "

화면 통째
" in admin assert "그림 없음 — 더블클릭해 지정" in admin and "그림 없음" not in user assert "그림 준비 중" in user assert ( '