feat(reports): 顯示資料源 PlayBook Verifier 缺口
This commit is contained in:
@@ -2,7 +2,6 @@ from fastapi.testclient import TestClient
|
||||
|
||||
from src.main import app
|
||||
|
||||
|
||||
_PUBLIC_FORBIDDEN_TERMS = [
|
||||
"工作視窗",
|
||||
"對話內容",
|
||||
@@ -51,6 +50,9 @@ def test_get_ai_agent_report_source_health_api():
|
||||
assert data["program_status"]["overall_completion_percent"] == 100
|
||||
assert data["rollups"]["source_count"] == 5
|
||||
assert data["rollups"]["no_send_preview_count"] == 3
|
||||
assert data["rollups"]["source_gap_playbook_draft_count"] >= 0
|
||||
assert data["rollups"]["source_gap_verifier_plan_count"] >= 0
|
||||
assert data["rollups"]["source_gap_owner_review_required_count"] >= 0
|
||||
assert data["rollups"]["live_send_allowed_count"] == 0
|
||||
assert data["rollups"]["runtime_gate_count"] == 0
|
||||
assert data["activation_boundaries"]["telegram_send_enabled"] is False
|
||||
@@ -69,6 +71,17 @@ def test_get_ai_agent_report_source_health_api():
|
||||
}
|
||||
asset_labels = {asset["label"] for asset in data["automation_assets"]}
|
||||
assert asset_labels == {"KM", "PlayBook", "腳本", "排程", "Verifier"}
|
||||
for card in data["source_gap_playbook_verifier"]:
|
||||
assert card["playbook_state"] == "draft_required"
|
||||
assert card["verifier_state"] == "plan_required"
|
||||
assert card["script_state"] == "readback_only"
|
||||
assert card["schedule_state"] == "no_send_preview"
|
||||
assert card["owner_review_required"] is True
|
||||
assert card["runtime_gate_open"] is False
|
||||
assert card["playbook_draft_id"].startswith("playbook-draft:")
|
||||
assert card["verifier_plan_id"].startswith("verifier-plan:")
|
||||
assert "owner_review" in card["playbook_template_fields"]
|
||||
assert "runtime_gate_count_remains_zero" in card["verifier_checks"]
|
||||
for preview in data["no_send_previews"]:
|
||||
assert preview["delivery_state"] == "no_send_preview"
|
||||
assert preview["live_send_allowed"] is False
|
||||
|
||||
Reference in New Issue
Block a user