Beispiel #1
0
 def test_date_filtered(self):
     "Restrict report to dates in a given month."
     today = datetime.datetime.now()
     last_month = today - datetime.timedelta(days=today.day + 1)
     self.create_confirmed_notification(patient=self.test_patient, appt_date=today)
     self.create_confirmed_notification(patient=self.test_patient, appt_date=last_month)
     results = views.appointment_stats(today)
     self.assertEqual(results['total'], 1)
     self.assertEqual(results['confirmed'], 1)
     self.assertAlmostEqual(results['percent'], 100.0)
     results = views.appointment_stats(last_month)
     self.assertEqual(results['total'], 1)
     self.assertEqual(results['confirmed'], 1)
     self.assertAlmostEqual(results['percent'], 100.0)
Beispiel #2
0
 def test_appointments_to_date(self):
     "Aggregrate appointment stats to date."
     today = datetime.datetime.now()
     self.create_confirmed_notification(patient=self.test_patient, appt_date=today)
     self.create_confirmed_notification(patient=self.test_patient, appt_date=today + datetime.timedelta(days=1))
     self.create_confirmed_notification(patient=self.test_patient, appt_date=today + datetime.timedelta(days=2))
     self.create_unconfirmed_notification(patient=self.test_patient, appt_date=today + datetime.timedelta(days=3))
     results = views.appointment_stats()
     self.assertEqual(results['total'], 4)
     self.assertEqual(results['confirmed'], 3)
     self.assertAlmostEqual(results['percent'], 75.0)
Beispiel #3
0
 def test_multiple_reminders(self):
     "Don't double count reminders for the same appointment date."
     today = datetime.datetime.now()
     # Today's appointment is both confirmed and unconfirmed
     self.create_confirmed_notification(patient=self.test_patient, appt_date=today)
     self.create_unconfirmed_notification(patient=self.test_patient, appt_date=today)
     self.create_confirmed_notification(patient=self.test_patient, appt_date=today + datetime.timedelta(days=1))
     self.create_confirmed_notification(patient=self.test_patient, appt_date=today + datetime.timedelta(days=2))
     self.create_unconfirmed_notification(patient=self.test_patient, appt_date=today + datetime.timedelta(days=3))
     results = views.appointment_stats()
     self.assertEqual(results['total'], 4)
     self.assertEqual(results['confirmed'], 3)
     self.assertAlmostEqual(results['percent'], 75.0)
Beispiel #4
0
 def test_no_appointments(self):
     "Handle no appointments for the given range."
     results = views.appointment_stats()
     self.assertEqual(results['total'], 0)
     self.assertEqual(results['confirmed'], 0)
     self.assertAlmostEqual(results['percent'], 0.0)