diff options
| author | Étienne Loks <etienne.loks@iggdrasil.net> | 2016-01-24 01:36:16 +0100 | 
|---|---|---|
| committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2016-01-24 01:36:16 +0100 | 
| commit | 0429e5d91f08bd237bb96f6d440ebe4ee565a35f (patch) | |
| tree | 35d050d2a3bf05e3e483f544c22a1c1253a9dfc2 /chimere/tests.py | |
| parent | 8c0d2e689da75b1d783260cabb2f5d786a2a9dc0 (diff) | |
| download | Chimère-0429e5d91f08bd237bb96f6d440ebe4ee565a35f.tar.bz2 Chimère-0429e5d91f08bd237bb96f6d440ebe4ee565a35f.zip | |
Manage submission email notification by email and by area
Diffstat (limited to 'chimere/tests.py')
| -rw-r--r-- | chimere/tests.py | 32 | 
1 files changed, 30 insertions, 2 deletions
| diff --git a/chimere/tests.py b/chimere/tests.py index 1c950fc..578baa6 100644 --- a/chimere/tests.py +++ b/chimere/tests.py @@ -10,6 +10,7 @@ test_dir_path = os.path.dirname(test_path) + os.sep  from django.contrib.auth.models import User, Group  from django.contrib.gis.geos import GEOSGeometry +from django.core import mail  from django.core.files import File  from django.core.urlresolvers import reverse  from django.template import Context @@ -17,7 +18,7 @@ from django.test import TestCase  from chimere.models import Area, Icon, Importer, Category, SubCategory, \      Marker, Route, News, SubCategoryUserLimit -from chimere.forms import MarkerForm, AreaAdminForm +from chimere.forms import MarkerForm, AreaAdminForm, notifySubmission  from chimere.templatetags.chimere_tags import display_news  from chimere.utils import ShapefileManager @@ -367,7 +368,7 @@ class FeedsTest(TestCase):          self.assertEqual(int(doc.xpath('count(//item)')), 2) -class AdminTest(TestCase): +class AdministratorsTest(TestCase):      def setUp(self):          self.areas = areas_setup()          self.subcategories = subcategory_setup() @@ -389,6 +390,8 @@ class AdminTest(TestCase):              g.user_set.add(self.moderation_user)              g.user_set.add(self.moderation_user2) + +class AdminTest(AdministratorsTest):      def test_actions(self):          self.client.login(username='admin', password='pass')          q_markers = Marker.objects.filter(pk__in=[m.pk for m in self.markers]) @@ -427,6 +430,31 @@ class AdminTest(TestCase):          self.assertEqual(404, response.status_code) +class NotifyTest(AdministratorsTest): +    def test_notify_email(self): +        # OK for all: two moderators and superuser +        m1 = self.markers[0] +        notifySubmission('dont-care-about-uri-for-tests', m1) +        out = mail.outbox.pop() +        self.assertEqual(sorted(out.to), +                         sorted([self.adminuser.email, +                                 self.moderation_user.email, +                                 self.moderation_user2.email])) +        # not in the area for both moderators +        m2 = self.markers[1] +        notifySubmission('dont-care-about-uri-for-tests', m2) +        out = mail.outbox.pop() +        self.assertEqual(out.to, [self.adminuser.email]) +        # not a category followed by moderator2 +        m3 = self.markers[2] +        notifySubmission('dont-care-about-uri-for-tests', m3) +        out = mail.outbox.pop() +        self.assertEqual(sorted(out.to), +                         sorted([self.adminuser.email, +                                 self.moderation_user.email])) +        self.assertEqual(len(out.to), 2) + +  class MarkerFormTest(TestCase):      def setUp(self):          self.subcategories = subcategory_setup() | 
