agentic.email/backend/tests/test_reply_recipients.py
2026-10-06 01:51:23 +05:30

30 lines
1.1 KiB
Python

from app.services.reply_recipients import reply_recipients
def test_reply_prefers_reply_to_header():
message = {
"sender": {"name": "Sender", "address": "sender@example.com"},
"reply_to": [{"name": "Support", "address": "support@example.com"}],
"to": [{"name": "Me", "address": "me@gentic.email"}],
"cc": [],
}
to, cc = reply_recipients(message=message, viewer_email="me@gentic.email", reply_all=False)
assert to == ["support@example.com"]
assert cc == []
def test_reply_all_excludes_viewer_and_deduplicates():
message = {
"sender": {"name": "Sender", "address": "sender@example.com"},
"to": [
{"name": "Me", "address": "me@gentic.email"},
{"name": "Other", "address": "other@example.com"},
],
"cc": [
{"name": "Sender", "address": "sender@example.com"},
{"name": "Third", "address": "third@example.com"},
],
}
to, cc = reply_recipients(message=message, viewer_email="me@gentic.email", reply_all=True)
assert to == ["sender@example.com"]
assert set(cc) == {"other@example.com", "third@example.com"}