From ccd6e8c88c9a15fba4f0c692d43a9437d9260e36 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Mon, 21 Mar 2016 18:59:22 -0400 Subject: [PATCH] Add document mailing view tests. --- mayan/apps/mailer/tests/test_views.py | 38 ++++++++++++++++++++++----- 1 file changed, 32 insertions(+), 6 deletions(-) diff --git a/mayan/apps/mailer/tests/test_views.py b/mayan/apps/mailer/tests/test_views.py index f57d28399e..6bd26e7fb8 100644 --- a/mayan/apps/mailer/tests/test_views.py +++ b/mayan/apps/mailer/tests/test_views.py @@ -1,13 +1,7 @@ -# -*- 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 @@ -54,3 +48,35 @@ class MailerViewsTestCase(GenericDocumentViewTestCase): ) self.assertEqual(len(mail.outbox), 1) self.assertEqual(mail.outbox[0].to, [TEST_EMAIL_ADDRESS]) + + def test_mail_document_view_no_permissions(self): + self.login( + username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD + ) + + response = self.post( + 'mailer:send_document', args=(self.document.pk,), + data={'email': TEST_EMAIL_ADDRESS}, + ) + + self.assertEqual(response.status_code, 302) + + def test_mail_document_view_with_permission(self): + self.login( + username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD + ) + + self.role.permissions.add( + permission_mailing_send_document.stored_permission + ) + response = self.post( + 'mailer:send_document', 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])