stash
This commit is contained in:
parent
29e7c4d283
commit
55577adde8
5 changed files with 104 additions and 7 deletions
|
@ -3,6 +3,7 @@ from unittest import mock
|
|||
|
||||
from django.test import TestCase, Client
|
||||
|
||||
from core.settings import MAIL_DOMAIN
|
||||
from inventory.models import Event
|
||||
from mail.models import Email
|
||||
from mail.protocol import LMTPHandler
|
||||
|
@ -133,3 +134,41 @@ class LMTPHandlerTestCase(TestCase): # TODO replace with less hacky test
|
|||
self.assertEqual(IssueThread.objects.all()[0].name, 'test')
|
||||
self.assertEqual(IssueThread.objects.all()[0].state, 'new')
|
||||
self.assertEqual(IssueThread.objects.all()[0].assigned_to, None)
|
||||
|
||||
def test_mail_reply(self):
|
||||
issue_thread = IssueThread.objects.create(
|
||||
name="test",
|
||||
)
|
||||
mail1 = Email.objects.create(
|
||||
subject='test subject',
|
||||
body='test',
|
||||
sender='test1@test',
|
||||
recipient='test2@' + MAIL_DOMAIN,
|
||||
issue_thread=issue_thread,
|
||||
)
|
||||
mail1_reply = Email.objects.create(
|
||||
subject='Re: test subject',
|
||||
body='Thank you for your message.',
|
||||
sender='test2@' + MAIL_DOMAIN,
|
||||
recipient='test1@test',
|
||||
in_reply_to=mail1.reference,
|
||||
issue_thread=issue_thread,
|
||||
)
|
||||
import aiosmtplib
|
||||
aiosmtplib.send = make_mocked_coro()
|
||||
client = Client()
|
||||
response = client.post(f'/api/2/tickets/{issue_thread.id}/reply/', {
|
||||
'message': 'test'
|
||||
})
|
||||
self.assertEqual(response.status_code, 201)
|
||||
self.assertEqual(len(Email.objects.all()), 3)
|
||||
self.assertEqual(len(IssueThread.objects.all()), 1)
|
||||
aiosmtplib.send.assert_called_once()
|
||||
self.assertEqual(Email.objects.all()[2].subject, 'Re: test subject')
|
||||
self.assertEqual(Email.objects.all()[2].sender, 'test2@' + MAIL_DOMAIN)
|
||||
self.assertEqual(Email.objects.all()[2].recipient, 'test1@test')
|
||||
self.assertEqual(Email.objects.all()[2].body, 'test')
|
||||
self.assertEqual(Email.objects.all()[2].issue_thread, issue_thread)
|
||||
self.assertTrue(Email.objects.all()[2].reference.startswith("<"))
|
||||
self.assertTrue(Email.objects.all()[2].reference.endswith("@localhost>"))
|
||||
self.assertEqual(Email.objects.all()[2].in_reply_to, mail1.reference)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue