summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--chimere/models.py4
-rw-r--r--chimere/tests.py22
2 files changed, 20 insertions, 6 deletions
diff --git a/chimere/models.py b/chimere/models.py
index c3a5f6e..830f5a9 100644
--- a/chimere/models.py
+++ b/chimere/models.py
@@ -993,11 +993,11 @@ def getDateCondition():
after = (datetime.datetime.now() + \
datetime.timedelta(settings.CHIMERE_DAYS_BEFORE_EVENT)
).strftime('%Y-%m-%d')
- date_condition = " and %(alias)s.start_date is null or "
+ date_condition = " and (%(alias)s.start_date is null or "
date_condition += "(%(alias)s.start_date >= '" + now + "' and "
date_condition += "%(alias)s.start_date <='" + after + "')"
date_condition += " or (%(alias)s.start_date <='" + now + "' and "
- date_condition += "%(alias)s.end_date >='" + now + "') "
+ date_condition += "%(alias)s.end_date >='" + now + "')) "
return date_condition
class SimplePoint:
diff --git a/chimere/tests.py b/chimere/tests.py
index 9be3597..78a83cc 100644
--- a/chimere/tests.py
+++ b/chimere/tests.py
@@ -17,7 +17,8 @@ from chimere.forms import MarkerForm
from chimere.utils import ShapefileManager
def area_setup():
- area_1 = Area.objects.create(name='area 1', order=1, available=True,
+ 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
@@ -60,12 +61,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
@@ -174,7 +178,7 @@ 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=('', 1))
+ url = reverse('chimere:feeds-areaid', args=('', self.area.pk))
response = self.client.get(url)
self.assertEqual(200, response.status_code)
doc = lxml.etree.fromstring(response.content)
@@ -194,3 +198,13 @@ class MarkerFormTest(TestCase):
'categories':[self.subcategories[0].pk]}
form = MarkerForm(data)
self.assertEqual(form.is_valid(), False)
+
+class DynamicCategoryTest(TestCase):
+ def setUp(self):
+ self.area = area_setup()
+ self.markers = marker_setup()
+
+ def test_dynamic_evaluation(self):
+ cats = self.area.getCategories(status='A', filter_available=True)
+ self.assertEqual(len(cats), 1)
+