30 lines
1.1 KiB
Python
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"}
|