コード例 #1
0
ファイル: tests.py プロジェクト: dimagi/aremind
 def test_brand_new(self):
     schedule = QuerySchedule(start_date = datetime.date.today(),
                              time_of_day = datetime.time(hour=0),
                              last_run = None,
                              days_between = 4,
                              query_type = QUERY_TYPE_SMS)
     schedule.save()
     self.assertTrue(schedule.should_run(force=False))
     self.assertTrue(schedule.should_run(force=True))
コード例 #2
0
ファイル: tests.py プロジェクト: dimagi/aremind
 def test_start_five_days_ago_never_run(self):
     schedule = QuerySchedule(start_date = datetime.date.today() -
                                    datetime.timedelta(days=5),
                              time_of_day = datetime.time(hour=0),
                              last_run = None,
                              days_between = 4,
                              query_type = QUERY_TYPE_SMS)
     schedule.save()
     self.assertTrue(schedule.should_run(force=False))
     self.assertTrue(schedule.should_run(force=True))
コード例 #3
0
ファイル: tests.py プロジェクト: dimagi/aremind
 def test_not_active(self):
     """Test that inactive schedules don't want to run"""
     schedule = QuerySchedule(start_date = datetime.date.today(),
                              time_of_day = datetime.time(hour=0),
                              last_run = None,
                              active = False,
                              days_between = 4,
                              query_type = QUERY_TYPE_SMS)
     schedule.save()
     self.assertFalse(schedule.should_run(force=False))
     self.assertTrue(schedule.should_run(force=True))
コード例 #4
0
ファイル: tests.py プロジェクト: dimagi/aremind
 def test_eight_day_schedule(self):
     """Make sure the days_between field is honored"""
     schedule = QuerySchedule(start_date = datetime.date.today() -
                                  datetime.timedelta(days=9),
                              time_of_day = datetime.time(hour=0),
                              last_run = datetime.datetime.now() -
                                  datetime.timedelta(days=7),
                              days_between = 8,
                              query_type = QUERY_TYPE_SMS)
     schedule.save()
     self.assertFalse(schedule.should_run(force=False))
     self.assertTrue(schedule.should_run(force=True))
コード例 #5
0
ファイル: tests.py プロジェクト: dimagi/aremind
 def test_query_recipients_not_duplicated(self):
     """test that if a patient is added to a query schedule both individually
     and by being a member of a group, they don't get queried twice"""
     
     group1 = self.create_group()
     patient1 = self.create_patient()
     group1.contacts.add(patient1.contact)
     schedule = QuerySchedule(start_date = datetime.date.today(),
                              time_of_day = datetime.time(hour=0),
                              last_run = None,
                              active = False,
                              days_between = 4,
                              query_type = QUERY_TYPE_SMS)
     schedule.save()
     schedule.recipients.add(group1)
     schedule.patients.add(patient1)
     to_receive = schedule.who_should_receive()
     self.assertEquals(len(to_receive), 1)
コード例 #6
0
ファイル: tests.py プロジェクト: dimagi/aremind
 def test_query_schedule_recipients(self):
     """Test the right patients to receive queries"""
     group1 = self.create_group()
     patient1 = self.create_patient()
     patient2 = self.create_patient()
     group1.contacts.add(patient1.contact)
     schedule = QuerySchedule(start_date = datetime.date.today(),
                              time_of_day = datetime.time(hour=0),
                              last_run = None,
                              active = False,
                              days_between = 4,
                              query_type = QUERY_TYPE_SMS)
     schedule.save()
     schedule.recipients.add(group1)
     schedule.patients.add(patient2)
     to_receive = schedule.who_should_receive()
     self.assertTrue(patient1 in to_receive)
     self.assertTrue(patient2 in to_receive)
コード例 #7
0
ファイル: tests.py プロジェクト: dimagi/aremind
 def test_query_schedule_recipients(self):
     """Test the right patients to receive queries"""
     group1 = self.create_group()
     patient1 = self.create_patient()
     patient2 = self.create_patient()
     group1.contacts.add(patient1.contact)
     schedule = QuerySchedule(start_date=datetime.date.today(),
                              time_of_day=datetime.time(hour=0),
                              last_run=None,
                              active=False,
                              days_between=4,
                              query_type=QUERY_TYPE_SMS)
     schedule.save()
     schedule.recipients.add(group1)
     schedule.patients.add(patient2)
     to_receive = schedule.who_should_receive()
     self.assertTrue(patient1 in to_receive)
     self.assertTrue(patient2 in to_receive)
コード例 #8
0
ファイル: tests.py プロジェクト: dimagi/aremind
    def test_query_recipients_not_duplicated(self):
        """test that if a patient is added to a query schedule both individually
        and by being a member of a group, they don't get queried twice"""

        group1 = self.create_group()
        patient1 = self.create_patient()
        group1.contacts.add(patient1.contact)
        schedule = QuerySchedule(start_date=datetime.date.today(),
                                 time_of_day=datetime.time(hour=0),
                                 last_run=None,
                                 active=False,
                                 days_between=4,
                                 query_type=QUERY_TYPE_SMS)
        schedule.save()
        schedule.recipients.add(group1)
        schedule.patients.add(patient1)
        to_receive = schedule.who_should_receive()
        self.assertEquals(len(to_receive), 1)
コード例 #9
0
ファイル: tests.py プロジェクト: dimagi/aremind
 def test_delete_view(self):
     """Test using the delete view"""
     # need a schedule, content not important
     schedule = QuerySchedule(start_date = datetime.date.today(),
                              time_of_day = datetime.time(hour=0),
                              last_run = None,
                              active = False,
                              days_between = 4,
                              query_type = QUERY_TYPE_SMS)
     schedule.save()
     response = self.client.get(reverse('adherence-delete-query-schedule',
                                        args=(schedule.pk,)),
                                follow=False)
     self.assertContains(response, 'Are you sure')
     response = self.client.post(reverse('adherence-delete-query-schedule',
                                        args=(schedule.pk,)))
     self.assertRedirects(response, reverse('adherence-dashboard'))
     # our schedule should no longer exist
     self.assertRaises(QuerySchedule.DoesNotExist, QuerySchedule.objects.get,
                       pk=schedule.pk)
コード例 #10
0
ファイル: tests.py プロジェクト: dimagi/aremind
 def test_delete_view(self):
     """Test using the delete view"""
     # need a schedule, content not important
     schedule = QuerySchedule(start_date=datetime.date.today(),
                              time_of_day=datetime.time(hour=0),
                              last_run=None,
                              active=False,
                              days_between=4,
                              query_type=QUERY_TYPE_SMS)
     schedule.save()
     response = self.client.get(reverse('adherence-delete-query-schedule',
                                        args=(schedule.pk, )),
                                follow=False)
     self.assertContains(response, 'Are you sure')
     response = self.client.post(
         reverse('adherence-delete-query-schedule', args=(schedule.pk, )))
     self.assertRedirects(response, reverse('adherence-dashboard'))
     # our schedule should no longer exist
     self.assertRaises(QuerySchedule.DoesNotExist,
                       QuerySchedule.objects.get,
                       pk=schedule.pk)
コード例 #11
0
ファイル: tests.py プロジェクト: dimagi/aremind
 def test_brand_new(self):
     schedule = QuerySchedule(start_date=datetime.date.today(),
                              time_of_day=datetime.time(hour=0),
                              last_run=None,
                              days_between=4,
                              query_type=QUERY_TYPE_SMS)
     schedule.save()
     self.assertTrue(schedule.should_run(force=False))
     self.assertTrue(schedule.should_run(force=True))
コード例 #12
0
ファイル: tests.py プロジェクト: dimagi/aremind
 def test_start_five_days_ago_run_two_days_ago(self):
     schedule = QuerySchedule(
         start_date=datetime.date.today() - datetime.timedelta(days=5),
         time_of_day=datetime.time(hour=0),
         last_run=datetime.datetime.now() - datetime.timedelta(days=3),
         days_between=4,
         query_type=QUERY_TYPE_SMS)
     schedule.save()
     self.assertFalse(schedule.should_run(force=False))
     self.assertTrue(schedule.should_run(force=True))
コード例 #13
0
ファイル: tests.py プロジェクト: dimagi/aremind
 def test_eight_day_schedule(self):
     """Make sure the days_between field is honored"""
     schedule = QuerySchedule(
         start_date=datetime.date.today() - datetime.timedelta(days=9),
         time_of_day=datetime.time(hour=0),
         last_run=datetime.datetime.now() - datetime.timedelta(days=7),
         days_between=8,
         query_type=QUERY_TYPE_SMS)
     schedule.save()
     self.assertFalse(schedule.should_run(force=False))
     self.assertTrue(schedule.should_run(force=True))
コード例 #14
0
ファイル: tests.py プロジェクト: dimagi/aremind
 def test_not_active(self):
     """Test that inactive schedules don't want to run"""
     schedule = QuerySchedule(start_date=datetime.date.today(),
                              time_of_day=datetime.time(hour=0),
                              last_run=None,
                              active=False,
                              days_between=4,
                              query_type=QUERY_TYPE_SMS)
     schedule.save()
     self.assertFalse(schedule.should_run(force=False))
     self.assertTrue(schedule.should_run(force=True))