Add test for the document link mailing view.

This commit is contained in:
Roberto Rosario
2016-03-21 17:42:24 -04:00
parent 3d970036b2
commit c9010f6b5e
3 changed files with 57 additions and 0 deletions

View File

@@ -21,6 +21,7 @@ from .permissions import (
class MailerApp(MayanAppConfig):
name = 'mailer'
test = True
verbose_name = _('Mailer')
def ready(self):

View File

View File

@@ -0,0 +1,56 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.contrib.contenttypes.models import ContentType
from django.core import mail
from django.test import override_settings
from django.utils.six import BytesIO
from common.tests.test_views import GenericViewTestCase
from documents.tests.test_views import GenericDocumentViewTestCase
from user_management.tests.literals import (
TEST_USER_PASSWORD, TEST_USER_USERNAME
)
from ..models import LogEntry
from ..permissions import (
permission_mailing_link, permission_mailing_send_document,
permission_view_error_log
)
TEST_EMAIL_ADDRESS = 'test@example.com'
class MailerViewsTestCase(GenericDocumentViewTestCase):
def test_mail_link_view_no_permissions(self):
self.login(
username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD
)
response = self.post(
'mailer:send_document_link', args=(self.document.pk,),
data={'email': TEST_EMAIL_ADDRESS},
)
self.assertEqual(response.status_code, 302)
def test_mail_link_view_with_permission(self):
self.login(
username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD
)
self.role.permissions.add(
permission_mailing_link.stored_permission
)
response = self.post(
'mailer:send_document_link', args=(self.document.pk,),
data={'email': TEST_EMAIL_ADDRESS},
follow=True
)
self.assertContains(
response, 'queued', status_code=200
)
self.assertEqual(len(mail.outbox), 1)
self.assertEqual(mail.outbox[0].to, [TEST_EMAIL_ADDRESS])