"""Tests for 988 Crisis Lifeline integration (#673).""" import pytest from agent.crisis_resources import ( LIFELINE_988, LIFELINE_988_TEXT, LIFELINE_988_CHAT, LIFELINE_988_SPANISH, CRISIS_TEXT_LINE, EMERGENCY_911, ALL_RESOURCES, get_crisis_resources, format_crisis_resources, get_immediate_help_message, CrisisResource, ) class TestCrisisResources: def test_988_phone(self): assert "988" in LIFELINE_988.contact assert "24/7" in LIFELINE_988.available def test_988_text(self): assert "HOME" in LIFELINE_988_TEXT.contact assert "988" in LIFELINE_988_TEXT.contact def test_988_chat(self): assert "988lifeline.org/chat" in LIFELINE_988_CHAT.url def test_988_spanish(self): assert "1-888-628-9454" in LIFELINE_988_SPANISH.contact assert LIFELINE_988_SPANISH.language == "Spanish" def test_crisis_text_line(self): assert "741741" in CRISIS_TEXT_LINE.contact def test_911(self): assert "911" in EMERGENCY_911.contact def test_all_resources_not_empty(self): assert len(ALL_RESOURCES) >= 5 class TestGetResources: def test_returns_all_by_default(self): assert len(get_crisis_resources()) == len(ALL_RESOURCES) def test_filter_english(self): english = get_crisis_resources("English") assert all(r.language == "English" for r in english) assert len(english) > 0 def test_filter_spanish(self): spanish = get_crisis_resources("Spanish") assert len(spanish) >= 1 assert all(r.language == "Spanish" for r in spanish) class TestFormatting: def test_format_includes_988(self): msg = format_crisis_resources() assert "988" in msg def test_format_includes_741741(self): msg = format_crisis_resources() assert "741741" in msg def test_format_includes_911(self): msg = format_crisis_resources() assert "911" in msg def test_immediate_help_includes_911_first(self): msg = get_immediate_help_message() assert msg.startswith("If you are in immediate danger") def test_format_not_empty(self): msg = format_crisis_resources() assert len(msg) > 100