mirror of
https://gitea.mueller.network/extern/django-helpdesk.git
synced 2024-12-28 17:49:04 +01:00
ADDED: <tests.test_ticket_submission.test_create_ticket_from_email_with_carbon_copy> and <tests.test_ticket_submission.test_create_ticket_from_email_with_invalid_carbon_copy> to ensure <TicketCC> instances are created by the <Ticket> model when the respective RFC 2822 field is provided.
This commit is contained in:
parent
4d00dd3d6e
commit
703c0e3b66
@ -1,6 +1,10 @@
|
|||||||
from helpdesk.models import Queue, CustomField, Ticket
|
|
||||||
|
import uuid
|
||||||
|
|
||||||
|
from helpdesk.models import Queue, CustomField, Ticket, TicketCC
|
||||||
from django.test import TestCase
|
from django.test import TestCase
|
||||||
from django.core import mail
|
from django.core import mail
|
||||||
|
from django.core.exceptions import ObjectDoesNotExist
|
||||||
from django.test.client import Client
|
from django.test.client import Client
|
||||||
from django.core.urlresolvers import reverse
|
from django.core.urlresolvers import reverse
|
||||||
|
|
||||||
@ -31,6 +35,72 @@ class TicketBasicsTestCase(TestCase):
|
|||||||
self.assertEqual(ticket.ticket_for_url, "q1-%s" % ticket.id)
|
self.assertEqual(ticket.ticket_for_url, "q1-%s" % ticket.id)
|
||||||
self.assertEqual(email_count, len(mail.outbox))
|
self.assertEqual(email_count, len(mail.outbox))
|
||||||
|
|
||||||
|
def test_create_ticket_from_email_with_carbon_copy(self):
|
||||||
|
|
||||||
|
"""
|
||||||
|
Ensure that an instance of <TicketCC> is created for every valid element of the
|
||||||
|
"rfc_2822_cc" field when creating a <Ticket> instance.
|
||||||
|
"""
|
||||||
|
|
||||||
|
message_id = uuid.uuid4().hex
|
||||||
|
|
||||||
|
email_data = {
|
||||||
|
'Message-ID': message_id,
|
||||||
|
'cc': ['bravo@example.net', 'charlie@foobar.com'],
|
||||||
|
}
|
||||||
|
|
||||||
|
# Regular ticket from email creation process
|
||||||
|
self.ticket_data = {
|
||||||
|
'title': 'Test Ticket',
|
||||||
|
'description': 'Some Test Ticket',
|
||||||
|
'rfc_2822_cc': email_data.get('cc', [])
|
||||||
|
}
|
||||||
|
|
||||||
|
email_count = len(mail.outbox)
|
||||||
|
ticket_data = dict(queue=self.queue_public, **self.ticket_data)
|
||||||
|
ticket = Ticket.objects.create(**ticket_data)
|
||||||
|
self.assertEqual(ticket.ticket_for_url, "q1-%s" % ticket.id)
|
||||||
|
self.assertEqual(email_count, len(mail.outbox))
|
||||||
|
|
||||||
|
# Ensure that <TicketCC> is created
|
||||||
|
for cc_email in email_data.get('cc', []):
|
||||||
|
|
||||||
|
ticket_cc = TicketCC.objects.get(ticket=ticket, email=cc_email)
|
||||||
|
self.assertTrue(ticket_cc.ticket, ticket)
|
||||||
|
self.assertTrue(ticket_cc.email, cc_email)
|
||||||
|
|
||||||
|
def test_create_ticket_from_email_with_invalid_carbon_copy(self):
|
||||||
|
|
||||||
|
"""
|
||||||
|
Ensure that no <TicketCC> instance is created if an invalid element of the
|
||||||
|
"rfc_2822_cc" field is provided when creating a <Ticket> instance.
|
||||||
|
"""
|
||||||
|
|
||||||
|
message_id = uuid.uuid4().hex
|
||||||
|
|
||||||
|
email_data = {
|
||||||
|
'Message-ID': message_id,
|
||||||
|
'cc': ['null@example', 'invalid@foobar'],
|
||||||
|
}
|
||||||
|
|
||||||
|
# Regular ticket from email creation process
|
||||||
|
self.ticket_data = {
|
||||||
|
'title': 'Test Ticket',
|
||||||
|
'description': 'Some Test Ticket',
|
||||||
|
'rfc_2822_cc': email_data.get('cc', [])
|
||||||
|
}
|
||||||
|
|
||||||
|
email_count = len(mail.outbox)
|
||||||
|
ticket_data = dict(queue=self.queue_public, **self.ticket_data)
|
||||||
|
ticket = Ticket.objects.create(**ticket_data)
|
||||||
|
self.assertEqual(ticket.ticket_for_url, "q1-%s" % ticket.id)
|
||||||
|
self.assertEqual(email_count, len(mail.outbox))
|
||||||
|
|
||||||
|
# Ensure that <TicketCC> is created
|
||||||
|
for cc_email in email_data.get('cc', []):
|
||||||
|
|
||||||
|
self.assertEquals(0, TicketCC.objects.filter(ticket=ticket, email=cc_email).count())
|
||||||
|
|
||||||
def test_create_ticket_public(self):
|
def test_create_ticket_public(self):
|
||||||
email_count = len(mail.outbox)
|
email_count = len(mail.outbox)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user