Beispiel #1
0
 def test_fetching(self):
     data = generate_patient_json(10)
     loader = PatientLoader(data)
     loader.load()
     response = self.client.get('/patients/')
     data = json.loads(response.content)
     self.assertEqual(len(data), 10)
 def handle(self, *args, **options):
     file_name = options['file_name'][0]
     with open(file_name, 'r') as f:
         data = f.read()
     json_data = json.loads(data)
     loader = PatientLoader(json_data)
     loader.load()
Beispiel #3
0
 def post(self, request):
     data = request.body
     try:
         json_data = json.loads(data)
         loader = PatientLoader(json_data)
         # in production I'd rather use async queue for this task
         # as this is potentially long task - it is not the best idea
         # to process it before response
         loader.load()
     except Exception as ex:
         return JsonResponse({'error': '{}'.format(ex)}, status=400)
     return JsonResponse({'status': 'Data is processed'}, status=200)
Beispiel #4
0
 def test_delete_some_patients(self):
     data = generate_patient_json(10)
     loader = PatientLoader(data)
     loader.load()
     self.assertEqual(Patient.objects.count(), 10)
     data = data[:5]
     loader = PatientLoader(data)
     loader.load()
     self.assertEqual(Patient.objects.count(), 5)
Beispiel #5
0
 def test_fetching_payment_max_filter(self):
     data = generate_patient_json(10)
     loader = PatientLoader(data)
     loader.load()
     payment_data = list()
     payment_data.append(
         generate_payment_for_patient(5, data[0]['externalId']))
     payment_data.append(
         generate_payment_for_patient(6, data[0]['externalId']))
     payment_data.append(
         generate_payment_for_patient(15, data[1]['externalId']))
     payment_data.append(
         generate_payment_for_patient(62, data[2]['externalId']))
     payment_loader = PaymentLoader(payment_data)
     payment_loader.load()
     response = self.client.get('/patients/?payment_max=12')
     data = json.loads(response.content)
     self.assertEqual(len(data), 8)
Beispiel #6
0
 def test_change_first_name(self):
     data = generate_patient_json(10)
     loader = PatientLoader(data)
     loader.load()
     self.assertEqual(Patient.objects.count(), 10)
     ext_id = data[0][PATIENT_EXT_ID]
     data[0]['firstName'] = 'AAAAAAAAAAAAA'
     loader = PatientLoader(data)
     self.assertNotEqual(
         Patient.objects.get(external_id=ext_id).first_name,
         'AAAAAAAAAAAAA')
     loader.load()
     self.assertEqual(
         Patient.objects.get(external_id=ext_id).first_name,
         'AAAAAAAAAAAAA')
Beispiel #7
0
 def test_basic_large_load(self):
     data = generate_patient_json(10000)
     self.assertEqual(Patient.objects.count(), 0)
     loader = PatientLoader(data)
     loader.load()
     self.assertEqual(Patient.objects.count(), 10000)
Beispiel #8
0
 def test_basic_load(self):
     self.assertEqual(Patient.objects.count(), 0)
     loader = PatientLoader(self.data)
     loader.load()
     self.assertEqual(Patient.objects.count(), 10)