Esempio n. 1
0
 def test_should_return_data_with_success_status_set_to_false_when_pass_in_wrong_subject_id(
         self):
     dbm = Mock()
     with patch("datawinners.dataextraction.helper.get_data_for_subject"
                ) as get_data_for_subject:
         get_data_for_subject.return_value = TRANSFORMED_DATA
         with patch(
                 "datawinners.dataextraction.helper.entity_type_already_defined"
         ) as entity_type_already_defined:
             entity_type_already_defined.return_value = True
             with patch(
                     "datawinners.dataextraction.helper.check_if_subject_exists"
             ) as check_if_subject_exists:
                 check_if_subject_exists.return_value = False
                 not_registered_subject = "cid001"
                 data_for_subject = encapsulate_data_for_subject(
                     dbm, "clinic", not_registered_subject)
                 self.assertIsInstance(data_for_subject,
                                       DataExtractionResult)
                 self.assertFalse(data_for_subject.success)
                 self.assertEqual(
                     data_for_subject.message,
                     "Subject [%s] is not registered." %
                     not_registered_subject)
                 self.assertEqual(0, len(data_for_subject.submissions))
Esempio n. 2
0
def get_for_subject(request,
                    subject_type,
                    subject_short_code,
                    start_date=None,
                    end_date=None):
    if request.method == 'GET':
        user = request.user
        dbm = get_database_manager(user)
        subject_type = subject_type.lower()
        data_for_subject = encapsulate_data_for_subject(
            dbm, subject_type, subject_short_code, start_date, end_date)
        return convert_to_json_file_download_response(
            data_for_subject,
            generate_filename('%s_%s' % (subject_type, subject_short_code),
                              start_date, end_date))
    return HttpResponse("Error. Only support GET method.")
Esempio n. 3
0
 def test_should_return_data_with_success_status_and_value_for_subject(
         self):
     dbm = Mock()
     with patch("datawinners.dataextraction.helper.get_data_for_subject"
                ) as get_data_for_subject:
         get_data_for_subject.return_value = TRANSFORMED_DATA
         with patch(
                 "datawinners.dataextraction.helper.entity_type_already_defined"
         ) as entity_type_already_defined:
             entity_type_already_defined.return_value = True
             with patch(
                     "datawinners.dataextraction.helper.check_if_subject_exists"
             ) as check_if_subject_exists:
                 check_if_subject_exists.return_value = True
                 data_for_subject = encapsulate_data_for_subject(
                     dbm, "clinic", "cid001")
                 self.assertIsInstance(data_for_subject,
                                       DataExtractionResult)
                 self.assertTrue(data_for_subject.success)
                 self.assertEqual(2, len(data_for_subject.submissions))
Esempio n. 4
0
 def test_should_return_data_with_success_status_set_to_false_when_pass_in_wrong_date(
         self):
     dbm = Mock()
     with patch("datawinners.dataextraction.helper.get_data_for_subject"
                ) as get_data_for_subject:
         get_data_for_subject.return_value = TRANSFORMED_DATA
         with patch(
                 "datawinners.dataextraction.helper.entity_type_already_defined"
         ) as entity_type_already_defined:
             entity_type_already_defined.return_value = True
             with patch(
                     "datawinners.dataextraction.helper.check_if_subject_exists"
             ) as check_if_subject_exists:
                 check_if_subject_exists.return_value = True
                 data_for_subject = encapsulate_data_for_subject(
                     dbm, "clinic", "cid001", "06-08-2012", "03-08-2012")
                 self.assertIsInstance(data_for_subject,
                                       DataExtractionResult)
                 self.assertFalse(data_for_subject.success)
                 self.assertEqual(data_for_subject.message,
                                  "Start date must before end date.")
                 self.assertEqual(0, len(data_for_subject.submissions))
Esempio n. 5
0
 def test_should_return_data_with_success_status_and_no_data_message_for_subject_when_no_data(
         self):
     dbm = Mock()
     with patch("datawinners.dataextraction.helper.get_data_for_subject"
                ) as get_data_for_subject:
         get_data_for_subject.return_value = []
         with patch(
                 "datawinners.dataextraction.helper.entity_type_already_defined"
         ) as entity_type_already_defined:
             entity_type_already_defined.return_value = True
             with patch(
                     "datawinners.dataextraction.helper.check_if_subject_exists"
             ) as check_if_subject_exists:
                 check_if_subject_exists.return_value = True
                 data_for_subject = encapsulate_data_for_subject(
                     dbm, "clinic", "cid001")
                 self.assertIsInstance(data_for_subject,
                                       DataExtractionResult)
                 self.assertTrue(data_for_subject.success)
                 self.assertEqual(0, len(data_for_subject.submissions))
                 self.assertEqual(
                     "No submission under this subject during this period.",
                     data_for_subject.message)