import sys import os # Add the project root to sys.path sys.path.append(os.getcwd()) from app.core.context import is_engagement_complete def test_finalization(): # Case 1: Start of conversation session = {"history": [], "aggregated_intelligence": {}} assert is_engagement_complete(session) == False # Case 2: High value intel captured on turn 3 (6 messages) session = { "history": ["hi", "hello", "pay me", "ok", "upi: scam@vpa", "thanks"], "aggregated_intelligence": {"upi_ids": ["scam@vpa"]} } assert is_engagement_complete(session) == True # Case 3: High value intel captured on turn 1 (2 messages) - TOO EARLY session = { "history": ["pay: scam@vpa", "ok"], "aggregated_intelligence": {"upi_ids": ["scam@vpa"]} } assert is_engagement_complete(session) == False # Case 4: Medium value intel + turn 5 session = { "history": ["m"] * 10, "aggregated_intelligence": {"urls": ["http://scam.ico"]} } assert is_engagement_complete(session) == True # Case 5: Maturity Cap session = { "history": ["m"] * 16, "aggregated_intelligence": {} } assert is_engagement_complete(session) == True print("✅ is_engagement_complete tests passed!") if __name__ == "__main__": test_finalization()