diff --git a/django_mailbox/tests/base.py b/django_mailbox/tests/base.py index 72c3249..87ec88a 100644 --- a/django_mailbox/tests/base.py +++ b/django_mailbox/tests/base.py @@ -19,6 +19,7 @@ def get_email_as_text(name): ) as f: return f.read() + class EmailMessageTestCase(TestCase): ALLOWED_EXTRA_HEADERS = [ 'MIME-Version', @@ -30,7 +31,7 @@ class EmailMessageTestCase(TestCase): self._STRIP_UNALLOWED_MIMETYPES = models.STRIP_UNALLOWED_MIMETYPES self._TEXT_STORED_MIMETYPES = models.TEXT_STORED_MIMETYPES - self.mailbox = Mailbox.objects.create() + self.mailbox = Mailbox.objects.create(from_email='from@example.com') super(EmailMessageTestCase, self).setUp() def _get_email_as_text(self, name): diff --git a/django_mailbox/tests/test_process_email.py b/django_mailbox/tests/test_process_email.py index c1c0955..d00cf05 100644 --- a/django_mailbox/tests/test_process_email.py +++ b/django_mailbox/tests/test_process_email.py @@ -5,6 +5,7 @@ import six from django_mailbox.models import Mailbox, Message from django_mailbox.tests.base import EmailMessageTestCase +from django.core.mail import EmailMessage __all__ = ['TestProcessEmail'] @@ -200,3 +201,32 @@ class TestProcessEmail(EmailMessageTestCase): actual_from = msg.from_header self.assertEqual(expected_from, actual_from) + + def test_message_reply(self): + email_object = EmailMessage('Test subject', # subject + 'Test body', # body + 'username@example.com', # from + ['mr.test32@mail.ru'], # to + ) + msg = self.mailbox.record_outgoing_message(email_object.message()) + + self.assertEqual(msg.outgoing, True) + + actual_from = 'username@example.com' + reply_email_object = EmailMessage('Test subject', # subject + 'Test body', # body + actual_from, # from + ['mr.test32@mail.ru'], # to + ) + + reply_msg = msg.reply(reply_email_object) + + self.assertEqual(reply_msg.in_reply_to, msg) + + self.assertEqual(actual_from, msg.from_header) + + reply_email_object.from_email = None + + second_reply_msg = msg.reply(reply_email_object) + + self.assertEqual(self.mailbox.from_email, second_reply_msg.from_header)