diff options
Diffstat (limited to 'chimere/tests.py')
| -rw-r--r-- | chimere/tests.py | 68 |
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) |
