diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-09-25 17:51:36 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-09-25 17:51:36 +0200 |
commit | cfd0123064e68546e86745ca550a45794cdf27dc (patch) | |
tree | e9a2ba06019a0ed2f31029174ead4719de4b87ff /chimere/tests.py | |
parent | 5239d88fb088e4eb584c113902ad1985df0aabc7 (diff) | |
download | Chimère-cfd0123064e68546e86745ca550a45794cdf27dc.tar.bz2 Chimère-cfd0123064e68546e86745ca550a45794cdf27dc.zip |
Extra test for area limitation
Diffstat (limited to 'chimere/tests.py')
-rw-r--r-- | chimere/tests.py | 33 |
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): |