def test_attribute_not_in_fixtures(self, days_open, weighed, thr, visits):
     days_open.return_value = etree.fromstring(self.get_xml('bad_days_open_fixture'))
     weighed.return_value = etree.fromstring(self.get_xml('weighed_fixture'))
     thr.return_value = etree.fromstring(self.get_xml('thr_fixture'))
     visits.return_value = etree.fromstring(self.get_xml('visit_fixture'))
     with self.assertRaises(IndicatorError) as e:
         run_indicator_for_user(self.aww, AWWAggregatePerformanceIndicator, language_code='en')
     self.assertIn('Attribute awc_opened_count not found in restore for AWC AWC1', six.text_type(e.exception))
 def test_form_sent_thirty_days_ago(self, last_sub_time):
     last_sub_time.return_value = {self.aww.get_id: self.today - timedelta(days=30)}
     messages = run_indicator_for_user(self.ls, LSSubmissionPerformanceIndicator, language_code='en')
     self.assertEqual(len(messages), 1)
     message = messages[0]
     self.assertTrue('one week' in message)
     self.assertTrue('AWC1' in message)
 def test_form_sent_thirty_seven_days_ago(self, last_subs):
     last_subs.return_value = {
         self.aww.get_id: [self._make_form(self.aww.get_id, self.today - timedelta(days=37))]
     }
     messages = run_indicator_for_user(self.ls, LSVHNDSurveyIndicator, language_code='en')
     self.assertEqual(len(messages), 1)
     self.assertTrue('AWC1' in messages[0])
 def test_no_app_status_fact(self):
     messages = run_indicator_for_user(
         self.user_sans_app_status,
         AWWSubmissionPerformanceIndicator,
         language_code='en',
     )
     self.assertEqual(len(messages), 1)
     self.assertIn('one month', messages[0])
 def test_form_sent_thirty_one_days_ago(self, last_sub_time):
     # last submissions only looks 30 days into past
     last_sub_time.return_value = {}
     messages = run_indicator_for_user(self.ls, LSSubmissionPerformanceIndicator, language_code='en')
     self.assertEqual(len(messages), 1)
     message = messages[0]
     self.assertTrue('one month' in message)
     self.assertTrue('AWC1' in message)
 def test_report_parsing(self, days_open, weighed, thr, visits):
     days_open.return_value = etree.fromstring(self.get_xml('days_open_fixture'))
     weighed.return_value = etree.fromstring(self.get_xml('weighed_fixture'))
     thr.return_value = etree.fromstring(self.get_xml('thr_fixture'))
     visits.return_value = etree.fromstring(self.get_xml('visit_fixture'))
     [message] = run_indicator_for_user(self.aww, AWWAggregatePerformanceIndicator, language_code='en')
     self.assertIn('Number of visits / Number of desired visits: 6 / 65', message)
     self.assertIn('Number of visits on time / Number of visits: 2 / 6', message)
     self.assertIn('THR Distribution: 1 / 2', message)
     self.assertIn('Number of children weighed: 1 / 2', message)
     self.assertIn('Days AWC open / Goal: 3 / 25', message)
 def test_user_not_in_fixtures(self, days_open, weighed, thr, visits):
     aww3 = self._make_user('aww3', self.locs['AWC3'])
     self.addCleanup(aww3.delete)
     days_open.return_value = etree.fromstring(self.get_xml('days_open_fixture'))
     weighed.return_value = etree.fromstring(self.get_xml('weighed_fixture'))
     thr.return_value = etree.fromstring(self.get_xml('thr_fixture'))
     visits.return_value = etree.fromstring(self.get_xml('visit_fixture'))
     [message] = run_indicator_for_user(aww3, AWWAggregatePerformanceIndicator, language_code='en')
     self.assertIn('Number of visits / Number of desired visits: 0 / 65', message)
     self.assertIn('Number of visits on time / Number of visits: 0 / 0', message)
     self.assertIn('THR Distribution: 0 / 0', message)
     self.assertIn('Number of children weighed: 0 / 0', message)
     self.assertIn('Days AWC open / Goal: 0 / 25', message)
 def test_multiple_awc_eight_days_ago(self, last_sub_time):
     aww_2 = self._make_user('aww_2', self.locs['AWC2'])
     self.addCleanup(aww_2.delete)
     last_sub_time.return_value = {
         self.aww.get_id: self.today - timedelta(days=8),
         aww_2.get_id: self.today - timedelta(days=8)
     }
     messages = run_indicator_for_user(self.ls, LSSubmissionPerformanceIndicator, language_code='en')
     self.assertEqual(len(messages), 1)
     message = messages[0]
     self.assertTrue('one week' in message)
     self.assertTrue('AWC1' in message)
     self.assertTrue('AWC2' in message)
 def test_multiple_locations(self, last_subs):
     aww_2 = self._make_user('aww_2', self.locs['AWC2'])
     self.addCleanup(UserESFake.remove_doc, aww_2.get_id)
     self.addCleanup(aww_2.delete)
     last_subs.return_value = {
         self.aww.get_id: [self._make_form(self.aww.get_id, self.today - timedelta(days=37))],
         aww_2.get_id: [self._make_form(aww_2.get_id, self.today - timedelta(days=37))]
     }
     messages = run_indicator_for_user(self.ls, LSVHNDSurveyIndicator, language_code='en')
     self.assertEqual(len(messages), 1)
     message = messages[0]
     self.assertTrue('AWC1' in message)
     self.assertTrue('AWC2' in message)
示例#10
0
 def test_multiple_locations_one_is_old(self, last_subs):
     aww_2 = self._make_user('aww_2', self.locs['AWC2'])
     self.addCleanup(UserESFake.remove_doc, aww_2.get_id)
     self.addCleanup(aww_2.delete)
     last_subs.return_value = {
         self.aww.get_id: [
             self._make_form(self.aww.get_id,
                             self.today - timedelta(days=15))
         ],
         aww_2.get_id:
         [self._make_form(aww_2.get_id, self.today - timedelta(days=37))]
     }
     messages = run_indicator_for_user(self.ls,
                                       LSVHNDSurveyIndicator,
                                       language_code='en')
     self.assertEqual(len(messages), 1)
     message = messages[0]
     self.assertFalse('AWC1' in message)
     self.assertTrue('AWC2' in message)
 def test_user_not_in_fixtures(self, days_open, weighed, thr, visits):
     aww3 = self._make_user('aww3', self.locs['AWC3'])
     self.addCleanup(aww3.delete)
     days_open.return_value = etree.fromstring(
         self.get_xml('days_open_fixture'))
     weighed.return_value = etree.fromstring(
         self.get_xml('weighed_fixture'))
     thr.return_value = etree.fromstring(self.get_xml('thr_fixture'))
     visits.return_value = etree.fromstring(self.get_xml('visit_fixture'))
     [message] = run_indicator_for_user(aww3,
                                        AWWAggregatePerformanceIndicator,
                                        language_code='en')
     self.assertIn('Number of visits / Number of desired visits: 0 / 65',
                   message)
     self.assertIn('Number of visits on time / Number of visits: 0 / 0',
                   message)
     self.assertIn('THR Distribution: 0 / 0', message)
     self.assertIn('Number of children weighed: 0 / 0', message)
     self.assertIn('Days AWC open / Goal: 0 / 25', message)
 def test_form_sent_today(self, last_sub_time):
     last_sub_time.return_value = {self.aww.get_id: self.today}
     messages = run_indicator_for_user(self.ls,
                                       LSSubmissionPerformanceIndicator,
                                       language_code='en')
     self.assertEqual(len(messages), 0)
 def test_form_sent_thirty_one_days_ago(self, aww_user_ids):
     # last submissions only looks 30 days into past
     aww_user_ids.return_value = {}
     messages = run_indicator_for_user(self.user, AWWSubmissionPerformanceIndicator, language_code='en')
     self.assertEqual(len(messages), 1)
     self.assertTrue('one month' in messages[0])
示例#14
0
 def test_form_sent_thirty_six_days_ago(self, last_subs):
     last_subs.return_value = {
         self.aww.get_id: [self._make_form(self.aww.get_id, self.today - timedelta(days=36))]
     }
     messages = run_indicator_for_user(self.ls, LSVHNDSurveyIndicator, language_code='en')
     self.assertEqual(len(messages), 0)
示例#15
0
 def test_survey_date_today(self, last_subs):
     last_subs.return_value = {
         self.aww.get_id: [self._make_form(self.aww.get_id, self.today)]
     }
     messages = run_indicator_for_user(self.ls, LSVHNDSurveyIndicator, language_code='en')
     self.assertEqual(len(messages), 0)
示例#16
0
 def test_no_form_submitted(self, last_subs):
     last_subs.return_value = {}
     messages = run_indicator_for_user(self.ls, LSVHNDSurveyIndicator, language_code='en')
     self.assertEqual(len(messages), 1)
     self.assertTrue('AWC1' in messages[0])
 def test_form_sent_thirty_seven_days_ago(self):
     self._save_form(self.aww1.get_id, self.today - timedelta(days=37))
     self._save_form(self.aww2.get_id, self.today - timedelta(days=36))
     messages = run_indicator_for_user(self.ls, LSVHNDSurveyIndicator, language_code='en')
     self.assertEqual(len(messages), 1)
     self.assertTrue('AWC1' in messages[0])
 def test_form_sent_thirty_six_days_ago(self):
     self._save_form(self.aww.get_id, self.today - timedelta(days=36))
     messages = run_indicator_for_user(self.aww,
                                       AWWVHNDSurveyIndicator,
                                       language_code='en')
     self.assertEqual(len(messages), 0)
 def test_form_sent_thirty_days_ago(self, aww_user_ids):
     aww_user_ids.return_value = {self.user.get_id: self.today - timedelta(days=30)}
     messages = run_indicator_for_user(self.user, AWWSubmissionPerformanceIndicator, language_code='en')
     self.assertEqual(len(messages), 1)
     self.assertTrue('one week' in messages[0])
 def test_form_sent_just_under_seven_days_ago(self):
     self.app_fact.last_form_submission_date = self.now - timedelta(days=6, hours=23)
     self.app_fact.save()
     messages = run_indicator_for_user(self.user, AWWSubmissionPerformanceIndicator, language_code='en')
     self.assertEqual(len(messages), 0)
示例#21
0
 def test_form_sent_thirty_six_days_ago(self, last_subs):
     last_subs.return_value = {
         self.aww.get_id: [self._make_form(self.aww.get_id, self.today - timedelta(days=36))]
     }
     messages = run_indicator_for_user(self.aww, AWWVHNDSurveyIndicator, language_code='en')
     self.assertEqual(len(messages), 0)
示例#22
0
 def test_no_form_submitted(self, last_subs):
     last_subs.return_value = {}
     messages = run_indicator_for_user(self.aww, AWWVHNDSurveyIndicator, language_code='en')
     self.assertEqual(len(messages), 1)
     self.assertTrue('VHSND could not happen at your centre' in messages[0])
 def test_form_sent_seven_days_ago(self, last_sub_time):
     last_sub_time.return_value = {self.aww.get_id: self.today - timedelta(days=7)}
     messages = run_indicator_for_user(self.ls, LSSubmissionPerformanceIndicator, language_code='en')
     self.assertEqual(len(messages), 0)
 def test_no_form_submitted(self):
     messages = run_indicator_for_user(self.aww,
                                       AWWVHNDSurveyIndicator,
                                       language_code='en')
     self.assertEqual(len(messages), 1)
     self.assertTrue('VHSND could not happen at your centre' in messages[0])
 def test_no_last_form_submission(self):
     self.app_fact.last_form_submission_date = None
     self.app_fact.save()
     messages = run_indicator_for_user(self.user, AWWSubmissionPerformanceIndicator, language_code='en')
     self.assertEqual(len(messages), 1)
     self.assertIn('one month', messages[0])
示例#26
0
 def test_missing_translation_file(self):
     with self.assertRaises(TemplateDoesNotExist):
         run_indicator_for_user(self.ls,
                                LSAggregatePerformanceIndicatorV2,
                                language_code=None)
 def test_form_sent_today(self):
     self.app_fact.last_form_submission_date = self.now
     self.app_fact.save()
     messages = run_indicator_for_user(self.user, AWWSubmissionPerformanceIndicator, language_code='en')
     self.assertEqual(len(messages), 0)
 def test_survey_date_today(self):
     self._save_form(self.aww.get_id, self.today)
     messages = run_indicator_for_user(self.aww,
                                       AWWVHNDSurveyIndicator,
                                       language_code='en')
     self.assertEqual(len(messages), 0)
 def test_form_sent_thirty_one_days_ago(self):
     self.app_fact.last_form_submission_date = self.now - timedelta(days=31)
     self.app_fact.save()
     messages = run_indicator_for_user(self.user, AWWSubmissionPerformanceIndicator, language_code='en')
     self.assertEqual(len(messages), 1)
     self.assertIn('one month', messages[0])
 def test_form_sent_seven_days_ago(self, aww_user_ids):
     aww_user_ids.return_value = {self.user.get_id: self.today - timedelta(days=7)}
     messages = run_indicator_for_user(self.user, AWWSubmissionPerformanceIndicator, language_code='en')
     self.assertEqual(len(messages), 0)