diff --git a/smash/web/tests/test_view_notifications.py b/smash/web/tests/test_view_notifications.py index cf193787194089fdb78612a2ef2c5962bb97aa44..748414e962a8127d06a00a59ae90fe5d08745efc 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 b3b5d5ae97b2bfec6350ca819be5644792f1cb55..6f22dc9d33fd482493f14aab1fb5bb6116fe51c3 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):