summaryrefslogtreecommitdiff
path: root/chimere/tests.py
diff options
context:
space:
mode:
Diffstat (limited to 'chimere/tests.py')
-rw-r--r--chimere/tests.py33
1 files changed, 27 insertions, 6 deletions
diff --git a/chimere/tests.py b/chimere/tests.py
index 548bc84..8339e41 100644
--- a/chimere/tests.py
+++ b/chimere/tests.py
@@ -52,7 +52,12 @@ def areas_setup():
name='area 3', urn='area-3', order=3, available=True,
upper_left_corner='SRID=4326;POINT(-1.5 1.5)',
lower_right_corner='SRID=4326;POINT(1.5 -1.5)')
- return [area_1, area_2, area_3]
+ area_4 = Area.objects.create(
+ name='area 4', urn='area-4', order=4, available=True,
+ upper_left_corner='SRID=4326;POINT(-4.907753 48.507656)',
+ lower_right_corner='SRID=4326;POINT(-4.049447 48.279688)',
+ )
+ return [area_1, area_2, area_3, area_4]
def properties_setup():
@@ -112,11 +117,13 @@ def marker_setup(sub_categories=[]):
sub_categories = subcategory_setup()
current_date = datetime.datetime.now()
markers = []
+ # in area 1 and 4
marker_1 = Marker.objects.create(name="Marker 1", status='A',
point='SRID=4326;POINT(-4.5 48.4)',
available_date=current_date)
marker_1.categories.add(sub_categories[0])
markers.append(marker_1)
+ # outside all areas
marker_2 = Marker.objects.create(name="Marker 2", status='A',
point='SRID=4326;POINT(-3.5 48.4)',
is_front_page=True,
@@ -124,6 +131,7 @@ def marker_setup(sub_categories=[]):
start_date=current_date)
marker_2.categories.add(sub_categories[1])
markers.append(marker_2)
+ # in area 1 and 4
marker_3 = Marker.objects.create(
name="Marker 3", status='A', point='SRID=4326;POINT(-4.5 48.45)',
is_front_page=True,
@@ -454,6 +462,7 @@ class AdministratorsTest(TestCase):
'mod_1', 'mod1@test.com', 'pass')
self.moderation_user.is_staff = True
self.moderation_user.save()
+
self.moderation_user2 = User.objects.create_user(
'mod_2', 'mod2@test.com', 'pass')
self.moderation_user2.is_staff = True
@@ -461,10 +470,22 @@ class AdministratorsTest(TestCase):
SubCategoryUserLimit.objects.create(
subcategory=self.subcategories[0],
user=self.moderation_user2)
+
+ self.moderation_user3 = User.objects.create_user(
+ 'mod_3', 'mod3@test.com', 'pass')
+ self.moderation_user3.is_staff = True
+ self.moderation_user3.save()
+ g = Group.objects.filter(
+ permissions__codename="change_area_" + self.areas[3].urn).all()[0]
+ g.user_set.add(self.moderation_user3)
+
for g in Group.objects.all():
g.user_set.add(self.moderation_user)
g.user_set.add(self.moderation_user2)
+ self.areas[3].subcategories.add(self.subcategories[4])
+ self.markers[2].categories.add(self.subcategories[4])
+
class AdminTest(AdministratorsTest):
def test_actions(self):
@@ -516,7 +537,7 @@ class AdminTest(AdministratorsTest):
class NotifyTest(AdministratorsTest):
def test_notify_email(self):
- # OK for all: two moderators and superuser
+ # OK for all: two moderators and superuser but not mod3
m1 = self.markers[0]
notifySubmission('dont-care-about-uri-for-tests', m1)
out = mail.outbox.pop()
@@ -524,19 +545,19 @@ class NotifyTest(AdministratorsTest):
sorted([self.adminuser.email,
self.moderation_user.email,
self.moderation_user2.email]))
- # not in the area for both moderators
+ # not in the area for all three 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
+ # not a category followed by moderator2 but in the area of moderator3
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)
+ self.moderation_user.email,
+ self.moderation_user3.email]))
class MarkerFormTest(TestCase):