summaryrefslogtreecommitdiff
path: root/chimere/tests.py
diff options
context:
space:
mode:
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
commit43b0c50accfa1017ee323ba121ac53920d1cdbf5 (patch)
tree9f554b2e55dfa8a36209363c82ddaa4915c3448f /chimere/tests.py
parentf769930eca0a0bbccf991e52c6c6abbba6414390 (diff)
parenta95b7d7e58b6d8e0847b9a49e3afe0ac7a939a39 (diff)
downloadChimè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.py64
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()