Bot & Automation
jorgasisten
/root/hermes-projects/jorgasisten
tests/test_ai_client.py
text
from jorgasisten.services.ai_client import parse_decision_content
def test_parse_decision_content_clamps_confidence() -> None:
decision = parse_decision_content(
"""
{
"intent": "tanya_data",
"sheet_name": "Booking",
"operation": "read",
"confidence": 140,
"missing_fields": [],
"data": {},
"filters": {"nama": "Budi"},
"reason": "Cocok",
"user_reply": "Saya cek dulu."
}
"""
)
assert decision.confidence == 100
assert decision.sheet_name == "Booking"
assert decision.filters == {"nama": "Budi"}
def test_parse_decision_content_accepts_general_chat() -> None:
decision = parse_decision_content(
"""
{
"intent": "chat_umum",
"sheet_name": "",
"operation": "chat",
"confidence": 95,
"missing_fields": [],
"data": {},
"filters": {},
"reason": "Pertanyaan umum",
"user_reply": "bisaa pren, busi itu komponen pengapian motor."
}
"""
)
assert decision.operation == "chat"
assert decision.intent == "chat_umum"
assert "busi" in decision.user_reply