summaryrefslogtreecommitdiff
path: root/chimere/tests.py
diff options
context:
space:
mode:
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
commit0429e5d91f08bd237bb96f6d440ebe4ee565a35f (patch)
tree35d050d2a3bf05e3e483f544c22a1c1253a9dfc2 /chimere/tests.py
parent8c0d2e689da75b1d783260cabb2f5d786a2a9dc0 (diff)
downloadChimè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.py32
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()