Beispiel #1
0
    def test_should_calculate_attd_for_past_five_weeks(self):
        client = Client()
        client.login(username='******',password='******')
        create_attribute()
        self.p3_boys_enrolled_poll.start()
        self.fake_incoming('10', self.emis_reporter1)
        self.p3_boys_enrolled_poll.end()

        self.p3_boys_absent_poll.start()
        self.fake_incoming('6', self.emis_reporter1)
        self.fake_incoming('5', self.emis_reporter1)
        self.fake_incoming('7', self.emis_reporter1)
        self.fake_incoming('0', self.emis_reporter1)
        self.fake_incoming('4', self.emis_reporter1)
        self.p3_boys_absent_poll.end()
        responses = self.p3_boys_absent_poll.responses.all()
        self.set_weekly_date(responses)
        self.p3_girls_absent_poll.start()
        self.fake_incoming('5', self.emis_reporter1)
        self.fake_incoming('6', self.emis_reporter1)
        self.fake_incoming('4', self.emis_reporter1)
        self.fake_incoming('6', self.emis_reporter1)
        self.fake_incoming('4', self.emis_reporter1)
        self.p3_girls_absent_poll.end()
        responses = self.p3_boys_absent_poll.responses.all()
        self.set_weekly_date(responses)

        create_record_enrolled_deployed_questions_answered(model = EnrolledDeployedQuestionsAnswered)
        response = client.post('/edtrac/detail-attd/', {'from_date': getattr(settings, 'SCHOOL_TERM_START').strftime('%m/%d/%Y') , 'to_date': getattr(settings, 'SCHOOL_TERM_END').strftime('%m/%d/%Y') , 'indicator':'P3Pupils'})
        import ast
        time_data = ast.literal_eval(response.context['time_data'])
        self.assertTrue(set([60.0, 100.0, 30.0, 50.0, 40.0]) < set(time_data[0]['data']))
        self.assertEqual(76.0 , round(response.context['collective_result']['Kampala']['P3 Pupils']))
Beispiel #2
0
    def test_should_ignore_attd_if_no_enrollment_found(self):
        client = Client()
        client.login(username='******',password='******')
        create_attribute()
        self.p3_boys_enrolled_poll.start()
        self.fake_incoming('10', self.emis_reporter1)
        self.fake_incoming('10', self.emis_reporter2)
        self.fake_incoming('10', self.emis_reporter3)
        self.fake_incoming('10', self.emis_reporter4)
        self.p3_boys_enrolled_poll.end()

        self.p3_boys_absent_poll.start()
        self.fake_incoming('12', self.emis_reporter1)
        self.fake_incoming('6', self.emis_reporter2)
        self.fake_incoming('8', self.emis_reporter3)
        self.fake_incoming('4', self.emis_reporter4)
        self.p3_boys_absent_poll.end()
        self.p3_girls_absent_poll.start()
        self.fake_incoming('3', self.emis_reporter1)
        self.fake_incoming('2', self.emis_reporter2)
        self.fake_incoming('6', self.emis_reporter3)
        self.fake_incoming('4', self.emis_reporter4)
        self.p3_girls_absent_poll.end()
        create_record_enrolled_deployed_questions_answered(model = EnrolledDeployedQuestionsAnswered)
        response = client.post('/edtrac/detail-attd/', {'from_date': getattr(settings, 'SCHOOL_TERM_START').strftime('%m/%d/%Y') , 'to_date': getattr(settings, 'SCHOOL_TERM_END').strftime('%m/%d/%Y') , 'indicator':'P3Pupils'})
        import ast
        time_data = ast.literal_eval(response.context['time_data'])
        self.assertIn(25.0, time_data[0]['data'])
Beispiel #3
0
 def test_should_give_result_for_p3_boys_poll(self):
     locations = [self.kampala_district]
     self.p3_boys_enrolled_poll.start()
     self.fake_incoming('10', self.emis_reporter1)
     self.fake_incoming('10', self.emis_reporter2)
     self.p3_boys_enrolled_poll.end()
     create_record_enrolled_deployed_questions_answered(model=EnrolledDeployedQuestionsAnswered)
     with patch('education.absenteeism_view_helper.get_responses_over_depth') as method_mock:
         method_mock.return_value = [], [],0
         config_data = get_polls_for_keyword('P3Boys')
         config=config_data[0]
         get_responses_by_location(locations, config ,self.date_week)
         method_mock.assert_called_with(config['attendance_poll'][0],config['enrollment_poll'][0],
                                        locations, self.date_week)
Beispiel #4
0
 def test_should_return_proper_result_on_POST_request(self):
     client = Client()
     client.login(username='******',password='******')
     create_attribute()
     self.p3_boys_enrolled_poll.start()
     self.fake_incoming('10', self.emis_reporter1)
     self.fake_incoming('10', self.emis_reporter2)
     self.p3_boys_enrolled_poll.end()
     self.p3_boys_absent_poll.start()
     self.fake_incoming('5', self.emis_reporter1)
     self.fake_incoming('5', self.emis_reporter2)
     self.p3_boys_absent_poll.end()
     create_record_enrolled_deployed_questions_answered(model = EnrolledDeployedQuestionsAnswered)
     response = client.post('/edtrac/detail-attd/', {'from_date': getattr(settings, 'SCHOOL_TERM_START').strftime('%m/%d/%Y') , 'to_date': getattr(settings, 'SCHOOL_TERM_END').strftime('%m/%d/%Y') , 'indicator':'P3Boys'})
     kampala_result =  response.context['collective_result']['Kampala']
     self.assertEqual(94.0 , round(kampala_result['P3 Boys']))
 def handle(self, *args, **options):
     # currently this manage command works on just that one model
     # TODO >>> in case you want to make code that will use similar logic
     create_record_enrolled_deployed_questions_answered(model=EnrolledDeployedQuestionsAnswered)
Beispiel #6
0
 def handle(self, *args, **options):
     # currently this manage command works on just that one model
     # TODO >>> in case you want to make code that will use similar logic
     create_record_enrolled_deployed_questions_answered(
         model=EnrolledDeployedQuestionsAnswered)