Skip to content
Snippets Groups Projects
Commit 4e57c19e authored by Piotr Gawron's avatar Piotr Gawron
Browse files

list of exceeded visits doesn't include visits with ascheduled appointments

parent 0302719f
No related branches found
No related tags found
1 merge request!152Resolve "exceeded visit status"
......@@ -183,6 +183,45 @@ class NotificationViewTests(LoggedInTestCase):
self.assertTrue(visits[0].datetime_begin < visits[1].datetime_begin)
self.assertTrue(visits[1].datetime_begin < visits[2].datetime_begin)
def test_get_exceeded_visits(self):
subject = create_study_subject()
visit = create_visit(subject)
visit.datetime_begin = get_today_midnight_date() + datetime.timedelta(days=-12)
visit.datetime_end = get_today_midnight_date() + datetime.timedelta(days=-10)
visit.visit_number = 1
visit.is_finished = True
visit.save()
visit = create_visit(subject)
visit.datetime_begin = get_today_midnight_date() + datetime.timedelta(days=-10)
visit.datetime_end = get_today_midnight_date() + datetime.timedelta(days=-8)
visit.visit_number = 2
visit.save()
visits = get_exceeded_visits(self.user)
self.assertEquals(1, visits.count())
def test_get_exceeded_visits_with_scheduled_appointment(self):
subject = create_study_subject()
visit = create_visit(subject)
visit.datetime_begin = get_today_midnight_date() + datetime.timedelta(days=-12)
visit.datetime_end = get_today_midnight_date() + datetime.timedelta(days=-10)
visit.visit_number = 1
visit.is_finished = True
visit.save()
visit = create_visit(subject)
visit.datetime_begin = get_today_midnight_date() + datetime.timedelta(days=-10)
visit.datetime_end = get_today_midnight_date() + datetime.timedelta(days=-8)
visit.visit_number = 2
visit.save()
create_appointment(visit)
visits = get_exceeded_visits(self.user)
self.assertEquals(0, visits.count())
def test_get_approaching_visits_without_appointments_count(self):
original_notification = get_approaching_visits_without_appointments_count(self.user)
subject = create_study_subject()
......
......@@ -244,7 +244,9 @@ def get_exceeded_visits(user):
).filter(
# by default any visit where visit number is bigger than 1
# or in case of first visit - visits that had some successful appointment
Q(visit_number__gt=1) | Q(appointment__status=Appointment.APPOINTMENT_STATUS_FINISHED)).order_by(
Q(visit_number__gt=1) | Q(appointment__status=Appointment.APPOINTMENT_STATUS_FINISHED)).filter(
# visits that have scheduled appointments should be excluded
~Q(appointment__status=Appointment.APPOINTMENT_STATUS_SCHEDULED)).order_by(
'datetime_begin')
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment