from pathlib import Path


ROOT = Path(__file__).resolve().parents[1]


def test_ai_calls_uses_compact_workbench_contract():
    template = (ROOT / "templates/admin/ai_calls_dashboard.html").read_text(encoding="utf-8")

    assert 'data-density-guardrail="compact-ai-calls-workbench"' in template
    assert 'aria-label="AI 流量狀態模式"' in template
    assert "流量監控" in template
    assert "成本守門" in template
    assert "知識命中" in template


def test_ai_calls_keeps_core_signals_and_hides_explanatory_copy():
    template = (ROOT / "templates/admin/ai_calls_dashboard.html").read_text(encoding="utf-8")

    for marker in ["呼叫總量", "用量", "成本", "延遲", "知識命中", "錯誤"]:
        assert marker in template

    assert ".calls-subtitle, .calls-note, .calls-context-note, .calls-footer-copy { display:none; }" in template
    assert 'class="calls-subtitle"' in template
    assert 'class="calls-note"' in template
    assert "calls-context-note" in template
    assert "calls-footer-copy" in template


def test_ai_calls_preserves_workbench_tables_and_non_raw_wording():
    template = (ROOT / "templates/admin/ai_calls_dashboard.html").read_text(encoding="utf-8")

    for marker in ["情境 × 知識命中矩陣", "最近作戰素材", "最近呼叫 100 筆"]:
        assert marker in template

    for forbidden in ["權杖量", "權杖/次", ">權杖<", "Agent 上下文", "RAG × MCP"]:
        assert forbidden not in template
