diff options
author | Étienne Loks <etienne.loks@peacefrogs.net> | 2012-11-26 19:50:43 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@peacefrogs.net> | 2012-11-26 19:50:43 +0100 |
commit | 43b0c50accfa1017ee323ba121ac53920d1cdbf5 (patch) | |
tree | 9f554b2e55dfa8a36209363c82ddaa4915c3448f /chimere/tests.py | |
parent | f769930eca0a0bbccf991e52c6c6abbba6414390 (diff) | |
parent | a95b7d7e58b6d8e0847b9a49e3afe0ac7a939a39 (diff) | |
download | Chimère-43b0c50accfa1017ee323ba121ac53920d1cdbf5.tar.bz2 Chimère-43b0c50accfa1017ee323ba121ac53920d1cdbf5.zip |
Merge branch 'master' into saclay
Conflicts:
chimere/admin.py
chimere/fixtures/initial_data.json
chimere/forms.py
chimere/locale/fr/LC_MESSAGES/django.po
chimere/static/chimere/css/styles.css
chimere/templates/chimere/blocks/alternate_multimedia.html
chimere/templates/chimere/blocks/categories.html
chimere/widgets.py
Diffstat (limited to 'chimere/tests.py')
-rw-r--r-- | chimere/tests.py | 64 |
1 files changed, 58 insertions, 6 deletions
diff --git a/chimere/tests.py b/chimere/tests.py index 049fbbe..790eb55 100644 --- a/chimere/tests.py +++ b/chimere/tests.py @@ -33,7 +33,11 @@ def areas_setup(): available=True, upper_left_corner='SRID=4326;POINT(-3 47.5)', lower_right_corner='SRID=4326;POINT(-2.5 47)') - return [area_1, area_2] + area_3 = Area.objects.create(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] def subcategory_setup(): category = Category.objects.create(name='Main category', @@ -88,6 +92,21 @@ def marker_setup(sub_categories=[]): markers.append(marker_3) return markers +def route_setup(sub_categories=[]): + if not sub_categories: + sub_categories = subcategory_setup() + current_date = datetime.datetime.now() + routes = [] + route_1 = Route.objects.create(name="Route 1", status='A', + has_associated_marker=True, route='SRID=4326;LINESTRING(-1 1, 1 -1)') + route_1.categories.add(sub_categories[0]) + routes.append(route_1) + route_2 = Route.objects.create(name="Route 2", status='A', + has_associated_marker=False, route='SRID=4326;LINESTRING(0 0, 2 2)') + route_2.categories.add(sub_categories[1]) + routes.append(route_2) + return routes + class ImporterTest: def test_get(self): nb_by_cat = {} @@ -198,10 +217,13 @@ class GeoRSSImporterTest(TestCase, ImporterTest): def setUp(self): subcategory_1, subcategory_2 = subcategory_setup() importer1 = Importer.objects.create(importer_type='RSS', - source=test_dir_path+'tests/georss.xml') + source=test_dir_path+'tests/georss_simple.xml') importer1.categories.add(subcategory_1) + importer2 = Importer.objects.create(importer_type='RSS', + source=test_dir_path+'tests/eqs7day-M5.xml') + importer2.categories.add(subcategory_2) - self.marker_importers = [(importer1, 1)] + self.marker_importers = [(importer1, 1), (importer2, 32)] class FeedsTest(TestCase): def setUp(self): @@ -319,11 +341,15 @@ class AreaAdminFormTest(TestCase): class DynamicCategoryTest(TestCase): def setUp(self): self.areas = areas_setup() - self.markers = marker_setup() + subcategories = subcategory_setup() + self.markers = marker_setup(subcategories) + self.routes = route_setup(subcategories) def test_dynamic_evaluation(self): cats = self.areas[0].getCategories(status='A', filter_available=True) self.assertEqual(len(cats), 1) + cats = self.areas[2].getCategories(status='A', filter_available=True) + self.assertEqual(len(cats), 2) def test_get_all_categories(self): url = reverse('chimere:get_all_categories') @@ -351,13 +377,15 @@ class NewsTest(TestCase): class RapprochementTest(TestCase): def setUp(self): self.areas = areas_setup() - self.markers = marker_setup() + self.subcategories = subcategory_setup() + self.markers = marker_setup(self.subcategories) + self.routes = route_setup(self.subcategories) self.adminuser = User.objects.create_superuser('admin', 'admin@test.com', 'pass') self.client.login(username='admin', password='pass') - def test_managed_modified(self): + def test_managed_modified_markers(self): ref_marker = self.markers[0] new_vals = {'name':"Marker 1 - modified", 'point':GEOSGeometry('SRID=4326;POINT(-4 48)')} @@ -377,6 +405,30 @@ class RapprochementTest(TestCase): for k in new_vals: self.assertEqual(getattr(ref_marker, k), new_vals[k]) + def test_managed_modified_routes(self): + ref_route = self.routes[0] + new_vals = {'name':"Route 1 - modified", + 'route':GEOSGeometry('SRID=4326;LINESTRING(1 1,2 2)')} + values = {'status':'M', 'ref_item':ref_route, + 'has_associated_marker':True} + values.update(new_vals) + modified_route = Route.objects.create(**values) + modified_route.categories.add(self.subcategories[1]) + response = self.client.post('/admin/chimere/route/', + data={'action':['managed_modified'], + 'index':0, 'rapprochement':1, + 'name':1, 'route':1, 'categories':1, + '_selected_action':[unicode(ref_route.pk)] + }) + ref_route = Route.objects.get(pk=ref_route.pk) + self.assertEqual(Route.objects.filter(ref_item=ref_route, + status='M').count(), 0) + self.assertEqual(ref_route.name, new_vals['name']) + self.assertEqual(ref_route.route.wkt, new_vals['route'].wkt) + self.assertEqual(ref_route.categories.all()[0], self.subcategories[1]) + self.assertEqual(ref_route.associated_marker.all()[0].name, + ref_route.name) + class RouteTest(TestCase): def setUp(self): self.subcategories = subcategory_setup() |