| from __future__ import annotations | |
| from app.escalation import create_escalation | |
| async def test_create_escalation_calls_sender_with_store_address(): | |
| captured = {} | |
| async def fake_sender(to, subject, body): | |
| captured.update(to=to, subject=subject, body=body) | |
| return True | |
| result = await create_escalation( | |
| "customer@x.com", | |
| "¿Cuál es la política de devoluciones?", | |
| session_id="sess123", | |
| support_email="support@store.com", | |
| sender=fake_sender, | |
| ) | |
| assert result["sent"] is True | |
| assert captured["to"] == "support@store.com" | |
| assert "sess123" in captured["subject"] | |
| assert "customer@x.com" in captured["body"] | |
| assert "devoluciones" in captured["body"] | |
| async def test_create_escalation_reports_unsent(): | |
| async def fake_sender(to, subject, body): | |
| return False | |
| result = await create_escalation( | |
| "c@x.com", "q", session_id="s", support_email="s@store.com", sender=fake_sender | |
| ) | |
| assert result["sent"] is False | |