summaryrefslogtreecommitdiff
path: root/chimere/tests.py
diff options
context:
space:
mode:
Diffstat (limited to 'chimere/tests.py')
-rw-r--r--chimere/tests.py68
1 files changed, 61 insertions, 7 deletions
diff --git a/chimere/tests.py b/chimere/tests.py
index ddd59b1..c372202 100644
--- a/chimere/tests.py
+++ b/chimere/tests.py
@@ -9,17 +9,25 @@ test_dir_path = os.path.dirname(test_path) + os.sep
from django.conf import settings
from django.core.urlresolvers import reverse
+from django.template import Context
from django.test import TestCase
from chimere.models import Area, Icon, Importer, Category, SubCategory, Marker,\
- Route
+ Route, News
+from chimere.forms import MarkerForm
+from chimere.templatetags.chimere_tags import display_news
from chimere.utils import ShapefileManager
-def area_setup():
- area_1 = Area.objects.create(name='area 1', order=1, available=True,
+def areas_setup():
+ area_1 = Area.objects.create(name='area 1', urn='area-1', order=1,
+ 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.objects.create(name='area 2', urn='area-2', order=2,
+ available=True,
+ upper_left_corner='SRID=4326;POINT(-3 47.5)',
+ lower_right_corner='SRID=4326;POINT(-2.5 47)')
+ return [area_1]
def subcategory_setup():
category = Category.objects.create(name='Main category',
@@ -59,12 +67,15 @@ def marker_setup(sub_categories=[]):
markers.append(marker_1)
marker_2 = Marker.objects.create(name="Marker 2", status='A',
point='SRID=4326;POINT(-3.5 48.4)',
- available_date=current_date)
+ available_date=current_date,
+ start_date=current_date)
marker_2.categories.add(sub_categories[1])
markers.append(marker_2)
marker_3 = Marker.objects.create(name="Marker 3", status='A',
point='SRID=4326;POINT(-4.5 48.45)',
- available_date=current_date - datetime.timedelta(days=60))
+ available_date=current_date - datetime.timedelta(days=60),
+ start_date=current_date - datetime.timedelta(days=60),
+ end_date=current_date - datetime.timedelta(days=30))
marker_3.categories.add(sub_categories[1])
markers.append(marker_3)
return markers
@@ -163,7 +174,7 @@ class GeoRSSImporterTest(TestCase, ImporterTest):
class FeedsTest(TestCase):
def setUp(self):
- self.area = area_setup()
+ self.areas = areas_setup()
self.markers = marker_setup()
def test_rss(self):
@@ -173,4 +184,47 @@ class FeedsTest(TestCase):
self.assertEqual(200, response.status_code)
doc = lxml.etree.fromstring(response.content)
self.assertEqual(int(doc.xpath('count(//item)')), len(self.markers))
+ url = reverse('chimere:feeds-areaid', args=('', self.areas[0].pk))
+ response = self.client.get(url)
+ self.assertEqual(200, response.status_code)
+ doc = lxml.etree.fromstring(response.content)
+ self.assertEqual(int(doc.xpath('count(//item)')), 2)
+class MarkerFormTest(TestCase):
+ def setUp(self):
+ self.subcategories = subcategory_setup()
+
+ def test_marker_creation(self):
+ current_date = datetime.datetime.now()
+ # end_date before start_date
+ data = {'name':"Marker 1", 'status':'A', 'available_date':current_date,
+ 'point':'SRID=4326;POINT(-4.5 48.4)', 'start_date':current_date,
+ 'end_date':current_date - datetime.timedelta(1),
+ 'categories':[self.subcategories[0].pk]}
+ form = MarkerForm(data)
+ self.assertEqual(form.is_valid(), False)
+
+class DynamicCategoryTest(TestCase):
+ def setUp(self):
+ self.areas = areas_setup()
+ self.markers = marker_setup()
+
+ def test_dynamic_evaluation(self):
+ cats = self.areas[0].getCategories(status='A', filter_available=True)
+ self.assertEqual(len(cats), 1)
+
+class NewsTest(TestCase):
+ def setUp(self):
+ self.areas = areas_setup()
+ self.markers = marker_setup()
+ self.news = []
+ self.news.append(News.objects.create(title=u"Test news 1",
+ available=True))
+ self.news.append(News.objects.create(title=u"Test news 2",
+ available=False))
+
+ def test_news_display(self):
+ context = display_news(Context({}))
+ self.assertEqual(len(context['news_lst']), 2)
+ context = display_news(Context({'area_name':'area-2'}))
+ self.assertEqual(len(context['news_lst']), 1)