Fix mailing profile test view.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
This commit is contained in:
Roberto Rosario
2017-08-10 00:59:55 -04:00
parent 6be6b7e17a
commit bb663aa71a
3 changed files with 38 additions and 9 deletions

View File

@@ -18,6 +18,7 @@
- Add support for workflow actions.
- Add support for rendering workflows.
- Add support for unbinding sub menus.
- Fix mailing profile test view.
2.6.4 (2017-07-26)
==================

View File

@@ -2,9 +2,7 @@ from __future__ import unicode_literals
from django.core import mail
from documents.tests.test_views import (
GenericDocumentViewTestCase, GenericViewTestCase
)
from documents.tests.test_views import GenericDocumentViewTestCase
from ..models import UserMailer
from ..permissions import (
@@ -91,8 +89,6 @@ class MailerViewsTestCase(MailerTestMixin, GenericDocumentViewTestCase):
self.assertEqual(len(mail.outbox), 1)
self.assertEqual(mail.outbox[0].to, [TEST_EMAIL_ADDRESS])
class UserMailerViewTestCase(MailerTestMixin, GenericViewTestCase):
def _request_user_mailer_delete(self):
return self.post(
'mailer:user_mailer_delete', args=(self.user_mailer.pk,)
@@ -144,3 +140,34 @@ class UserMailerViewTestCase(MailerTestMixin, GenericViewTestCase):
self.assertNotEqual(
[UserMailer.objects.all()], [self.user_mailer]
)
def _request_user_mailer_test(self):
return self.post(
'mailer:user_mailer_test', args=(self.user_mailer.pk,), data={
'email': TEST_EMAIL_ADDRESS
}, follow=True
)
def test_user_mailer_test_view_no_permissions(self):
self._create_user_mailer()
self.login_user()
response = self._request_user_mailer_test()
self.assertEqual(response.status_code, 403)
self.assertEqual(len(mail.outbox), 0)
def test_user_mailer_test_view_with_access(self):
self._create_user_mailer()
self.login_user()
self.grant_access(
obj=self.user_mailer, permission=permission_user_mailer_use
)
response = self._request_user_mailer_test()
self.assertEqual(response.status_code, 200)
self.assertEqual(len(mail.outbox), 1)
self.assertEqual(mail.outbox[0].to, [TEST_EMAIL_ADDRESS])

View File

@@ -231,20 +231,21 @@ class UserMailerListView(SingleObjectListView):
class UserMailerTestView(FormView):
form_class = UserMailerTestForm
object_permission = permission_user_mailer_edit
def form_valid(self, form):
self.get_user_mailer().test(to=(form.cleaned_data['email'],))
self.get_object().test(to=form.cleaned_data['email'])
return super(UserMailerTestView, self).form_valid(form=form)
def get_extra_context(self):
return {
'hide_object': True,
'object': self.get_user_mailer(),
'object': self.get_object(),
'submit_label': _('Test'),
'title': _('Test mailing profile: %s') % self.get_user_mailer(),
'title': _('Test mailing profile: %s') % self.get_object(),
}
def get_user_mailer(self):
def get_object(self):
user_mailer = get_object_or_404(UserMailer, pk=self.kwargs['pk'])
AccessControlList.objects.check_access(
permissions=permission_user_mailer_use, user=self.request.user,