From 8e1a7cddfe0ffae828f78d3bece22a053dcca356 Mon Sep 17 00:00:00 2001 From: Piotr Gawron <piotr.gawron@uni.lu> Date: Thu, 23 Mar 2017 16:23:35 +0100 Subject: [PATCH] approaching visits without appointments are sorted by start date --- smash/web/tests/test_view_notifications.py | 35 +++++++++++++++++++--- smash/web/views/notifications.py | 2 +- 2 files changed, 32 insertions(+), 5 deletions(-) diff --git a/smash/web/tests/test_view_notifications.py b/smash/web/tests/test_view_notifications.py index cf193787..748414e9 100644 --- a/smash/web/tests/test_view_notifications.py +++ b/smash/web/tests/test_view_notifications.py @@ -7,11 +7,16 @@ from functions import create_appointment, create_location, create_worker, create from functions import create_subject from functions import create_visit from web.models import Appointment, Location -from web.views.notifications import get_exceeded_visit_notifications_count, \ +from web.views.notifications import \ + get_approaching_visits_for_mail_contact_count, \ + get_approaching_visits_without_appointments, \ get_approaching_visits_without_appointments_count, \ - get_subject_with_no_visit_notifications_count, get_unfinished_appointments_count, \ - get_approaching_visits_for_mail_contact_count, get_subjects_with_reminder_count, \ - get_visits_without_appointments_count, get_today_midnight_date + get_exceeded_visit_notifications_count, \ + get_subject_with_no_visit_notifications_count, \ + get_subjects_with_reminder_count, \ + get_visits_without_appointments_count, \ + get_today_midnight_date, \ + get_unfinished_appointments_count class NotificationViewTests(TestCase): @@ -112,6 +117,28 @@ class NotificationViewTests(TestCase): notification = get_approaching_visits_without_appointments_count(self.user) self.assertEquals(original_notification.count + 1, notification.count) + def test_get_approaching_visits_without_appointments_order(self): + subject = create_subject() + + visit = create_visit(subject) + visit.datetime_begin = get_today_midnight_date() + datetime.timedelta(days=10) + visit.save() + + visit = create_visit(subject) + visit.datetime_begin = get_today_midnight_date() + datetime.timedelta(days=8) + visit.save() + + visit = create_visit(subject) + visit.datetime_begin = get_today_midnight_date() + datetime.timedelta(days=12) + visit.save() + + visits = get_approaching_visits_without_appointments(self.user) + self.assertEquals(3, visits.count()) + + # check sort order + self.assertTrue(visits[0].datetime_begin < visits[1].datetime_begin) + self.assertTrue(visits[1].datetime_begin < visits[2].datetime_begin) + def test_get_subject_with_no_visit_notifications_count(self): original_notification = get_subject_with_no_visit_notifications_count(self.user) create_subject() diff --git a/smash/web/views/notifications.py b/smash/web/views/notifications.py index b3b5d5ae..6f22dc9d 100644 --- a/smash/web/views/notifications.py +++ b/smash/web/views/notifications.py @@ -163,7 +163,7 @@ def get_approaching_visits_without_appointments(user): datetime_begin__lt=today_plus_two_months, is_finished=False, subject__default_location__in=get_filter_locations(user), - my_count=0) + my_count=0).order_by('datetime_begin') def get_approaching_visits_for_mail_contact(user): -- GitLab