diff options
| -rw-r--r-- | chimere/models.py | 4 | ||||
| -rw-r--r-- | chimere/tests.py | 22 |
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) + |
