Ejemplo n.º 1
0
class TestRequiredAutocompleteMedicine(TestCase):
    def setUp(self):
        self.client = Client()
        self.factory = RequestFactory()
        self.health_professional = HealthProfessional.objects.create_user(
            email='*****@*****.**', password='******')
        self.medicine = Medicine()
        self.medicine.name = "Medicamento Teste"
        self.medicine.active_ingredient = "Teste Lab"
        self.medicine.save()

        self.manipulated_medicine = ManipulatedMedicine()
        self.manipulated_medicine.recipe_name = "Manipulated Medicine"
        self.manipulated_medicine.physical_form = "Physical Form"
        self.manipulated_medicine.quantity = 10
        self.manipulated_medicine.measurement = 'kg'
        self.manipulated_medicine.composition = (
            "Manipulated Medicine Composition." +
            "Manipulated Medicine Composition." +
            "Manipulated Medicine Composition." +
            "Manipulated Medicine Composition." +
            "Manipulated Medicine Composition." +
            "Manipulated Medicine Composition.")

        self.manipulated_medicine.health_professional = self.health_professional
        self.manipulated_medicine.save()

    def test_prescription_request_autocomplete_medicine_fail(self):
        request = self.factory.get(
            '/prescription/ajax/autocomplete_medicine/?term=Med')
        request.user = self.health_professional
        response = AutoCompleteMedicine.as_view()(request)
        self.assertNotEquals(response, HttpResponse)

    def test_prescription_request_autocomplete_medicine_return_no_medicine(
            self):
        request = self.factory.get(
            '/prescription/ajax/autocomplete_medicine/?term=testan',
            HTTP_X_REQUESTED_WITH='XMLHttpRequest')
        request.user = self.health_professional
        response = AutoCompleteMedicine.as_view()(request)
        self.assertEquals(response.status_code, 200)

    def test_prescription_request_autocomplete_medicine_return_one_medicine(
            self):
        request = self.factory.get(
            '/prescription/ajax/autocomplete_medicine/?term=Med',
            HTTP_X_REQUESTED_WITH='XMLHttpRequest')
        request.user = self.health_professional
        response = AutoCompleteMedicine.as_view()(request)
        self.assertEquals(response.status_code, 200)

    def test_prescription_request_autocomplete_medicine_return_one_manipulatede_medicine(
            self):
        request = self.factory.get(
            '/prescription/ajax/autocomplete_medicine/?term=Man',
            HTTP_X_REQUESTED_WITH='XMLHttpRequest')
        request.user = self.health_professional
        response = AutoCompleteMedicine.as_view()(request)
        self.assertEquals(response.status_code, 200)
class TestManipulatedMedicineList(TestCase):

    def setUp(self):
        self.my_view = ListManipulatedMedicinenByHealthProfessional()
        self.factory = RequestFactory()

        # Making a HealthProfessional
        self.user = HealthProfessional()
        self.user.pk = 1
        self.user.email = "*****@*****.**"
        self.user.password = "******"
        self.user.crm = "54321"
        self.user.save()

        self.medicine = ManipulatedMedicine()
        self.medicine.recipe_name = "Medicamento test"
        self.medicine.physical_form = "test forma fisica"
        self.medicine.quantity = 1.0
        self.medicine.measurement = "kg"
        self.medicine.composition = "teste"
        self.medicine.health_professional = self.user
        self.medicine.save()

        self.health_professional_medicines = ManipulatedMedicine.objects.filter(health_professional=self.user)

    def test_medicine_len_equal(self):
        self.assertEqual(len(self.health_professional_medicines), 1)

    def test_medicine_len_false(self):
        self.assertNotEqual(len(self.health_professional_medicines), 50)

    '''def test_get(self):
Ejemplo n.º 3
0
class TestShowDetailPrescriptionView(TestCase):
    def setUp(self):
        self.factory = RequestFactory()

        self.health_professional = HealthProfessional.objects.create_user(
            email='*****@*****.**', password='******')

        self.manipulated_medicine = ManipulatedMedicine()
        self.manipulated_medicine.pk = 1
        self.manipulated_medicine.recipe_name = "teste"
        self.manipulated_medicine.physical_form = "asdadsafdf"
        self.manipulated_medicine.quantity = 12
        self.manipulated_medicine.measurement = "kg"
        self.manipulated_medicine.composition = "aosdjoaisjdoiajsdoij"
        self.manipulated_medicine.health_professional = self.health_professional
        self.manipulated_medicine.save()

        self.medicine = Medicine()
        self.medicine.name = "Medicamento Teste"
        self.medicine.active_ingredient = "Teste Lab"
        self.medicine.save()

        self.posology = "Medicamento de Teste"
        self.quantity = 1
        self.via = constants.VIA_CHOICES[0][0]

        self.patient = "Carlos Nogueira"

        self.prescription = NoPatientPrescription()
        self.prescription.patient = self.patient
        self.prescription.cid = None
        self.prescription.health_professional = self.health_professional
        self.prescription.pk = 1
        self.prescription.save()

        self.has_manipulated_medicine = PrescriptionHasMedicine()
        self.has_manipulated_medicine.prescription_medicine = self.prescription
        self.has_manipulated_medicine.medicine = self.medicine
        self.has_manipulated_medicine.posology = self.posology
        self.has_manipulated_medicine.via = self.via
        self.has_manipulated_medicine.quantity = self.quantity
        self.has_manipulated_medicine.save()

        self.has_medicine = PrescriptionHasManipulatedMedicine()
        self.has_medicine.prescription_medicine = self.prescription
        self.has_medicine.manipulated_medicine = self.manipulated_medicine
        self.has_medicine.posology = self.posology
        self.has_medicine.via = self.via
        self.has_medicine.quantity = self.quantity
        self.has_medicine.save()

    def test_prescription_get_with_health_professional(self):
        request = self.factory.get('/prescription/show_prescription/1')
        request.user = self.health_professional

        # Get the response
        response = ShowDetailPrescriptionView.as_view()(request, pk=1)
        self.assertEqual(response.status_code, 200)
class TestListFavoritePrescription(TestCase):
    def setUp(self):
        self.factory = RequestFactory()
        self.client = Client()
        self.view = CreatePrescriptionView()

        self.patient = Patient()
        self.patient.pk = 1
        self.patient.name = "Paciente de teste"
        self.patient.date_of_birth = "1991-10-21"
        self.patient.phone = "06199999999"
        self.patient.email = "*****@*****.**"
        self.patient.sex = "M"
        self.patient.id_document = "1000331"
        self.patient.CEP = "72850735"
        self.patient.UF = "DF"
        self.patient.city = "Brasília"
        self.patient.neighborhood = "Asa sul"
        self.patient.complement = "Bloco 2 QD 701"
        self.patient.save()

        self.health_professional = HealthProfessional()
        self.health_professional.pk = 1
        self.health_professional.crm = '12345'
        self.health_professional.crm_state = 'US'
        self.health_professional.save()

        self.manipulated_medicine = ManipulatedMedicine()
        self.manipulated_medicine.pk = 1
        self.manipulated_medicine.recipe_name = "teste"
        self.manipulated_medicine.physical_form = "asdadsafdf"
        self.manipulated_medicine.quantity = 12
        self.manipulated_medicine.measurement = "kg"
        self.manipulated_medicine.composition = "aosdjoaisjdoiajsdoij"
        self.manipulated_medicine.health_professional = self.health_professional
        self.manipulated_medicine.save()

        self.disease = Disease()
        self.disease.pk = 1
        self.disease.id_cid_10 = "A01"
        self.disease.description = "A random disease"
        self.disease.save()

        self.health_professional = HealthProfessional.objects.create_user(email='*****@*****.**',
                                                                          password='******')

    def teste_list_prescription(self):
        request = self.factory.get('/')
        request.user = self.health_professional

        response = ListFavoritePrescription.as_view()(request)
        self.assertEqual(response.status_code, 200)
Ejemplo n.º 5
0
class TestShowDetailPrescriptionView(TestCase):
    def setUp(self):
        self.factory = RequestFactory()

        self.health_professional = HealthProfessional.objects.create_user(
            email='*****@*****.**', password='******')
        self.disease = Disease()
        self.disease.pk = 1
        self.disease.id_cid_10 = "A01"
        self.disease.description = "A random disease"
        self.disease.save()

        self.prescription = Prescription()
        self.prescription.pk = 1
        self.prescription.health_professional = self.health_professional
        self.prescription.cid = self.disease
        self.prescription.save()

        self.prescription_2 = Prescription()
        self.prescription_2.pk = 2
        self.prescription_2.health_professional = self.health_professional
        self.prescription_2.cid = self.disease
        self.prescription_2.save()

        self.prescription_3 = Prescription()
        self.prescription_3.pk = 3
        self.prescription_3.health_professional = self.health_professional
        self.prescription_3.cid = self.disease
        self.prescription_3.save()

        self.prescription_4 = Prescription()
        self.prescription_4.pk = 4
        self.prescription_4.health_professional = self.health_professional
        self.prescription_4.cid = self.disease
        self.prescription_4.save()

        self.prescription_5 = Prescription()
        self.prescription_5.pk = 5
        self.prescription_5.health_professional = self.health_professional
        self.prescription_5.cid = self.disease
        self.prescription_5.save()

        self.manipulated_medicine = ManipulatedMedicine()
        self.manipulated_medicine.pk = 1
        self.manipulated_medicine.recipe_name = "teste"
        self.manipulated_medicine.physical_form = "asdadsafdf"
        self.manipulated_medicine.quantity = 12
        self.manipulated_medicine.measurement = "kg"
        self.manipulated_medicine.composition = "aosdjoaisjdoiajsdoij"
        self.manipulated_medicine.health_professional = self.health_professional
        self.manipulated_medicine.save()

        self.manipulated_medicine_2 = ManipulatedMedicine()
        self.manipulated_medicine_2.pk = 2
        self.manipulated_medicine_2.recipe_name = "teste"
        self.manipulated_medicine_2.physical_form = "asdadsafdf"
        self.manipulated_medicine_2.quantity = 12
        self.manipulated_medicine_2.measurement = "kg"
        self.manipulated_medicine_2.composition = "aosdjoaisjdoiajsdoij"
        self.manipulated_medicine_2.health_professional = self.health_professional
        self.manipulated_medicine_2.save()

        self.hasmanipulated_medicine = PrescriptionHasManipulatedMedicine()
        self.hasmanipulated_medicine.manipulated_medicine = self.manipulated_medicine
        self.hasmanipulated_medicine.posology = "asd"
        self.hasmanipulated_medicine.quantity = 1
        self.hasmanipulated_medicine.pk = 2
        self.hasmanipulated_medicine.via = 'Via Intravenosa'
        self.hasmanipulated_medicine.prescription_medicine = self.prescription
        self.hasmanipulated_medicine.save()

        self.hasmanipulated_medicine = PrescriptionHasManipulatedMedicine()
        self.hasmanipulated_medicine.manipulated_medicine = self.manipulated_medicine_2
        self.hasmanipulated_medicine.posology = "asd"
        self.hasmanipulated_medicine.quantity = 1
        self.hasmanipulated_medicine.pk = 12
        self.hasmanipulated_medicine.via = 'Via Intravenosa'
        self.hasmanipulated_medicine.prescription_medicine = self.prescription
        self.hasmanipulated_medicine.save()

        self.hasmanipulated_medicine = PrescriptionHasManipulatedMedicine()
        self.hasmanipulated_medicine.manipulated_medicine = self.manipulated_medicine
        self.hasmanipulated_medicine.posology = "asd"
        self.hasmanipulated_medicine.quantity = 1
        self.hasmanipulated_medicine.pk = 4
        self.hasmanipulated_medicine.via = 'Via Intravenosa'
        self.hasmanipulated_medicine.prescription_medicine = self.prescription_2
        self.hasmanipulated_medicine.save()

        self.recommendation = NewRecommendation()
        self.recommendation.recommendation_description = "recomendacao de teste"
        self.recommendation.save()

        self.prescription_has_recommendation = PrescriptionNewRecommendation()
        self.prescription_has_recommendation.prescription = self.prescription
        self.prescription_has_recommendation.recommendation = self.recommendation
        self.prescription_has_recommendation.save()

        self.prescription_has_recommendation = PrescriptionNewRecommendation()
        self.prescription_has_recommendation.prescription = self.prescription_3
        self.prescription_has_recommendation.recommendation = self.recommendation
        self.prescription_has_recommendation.save()

        self.medicine = Medicine()
        self.medicine.name = "asdoajsdoiasj"
        self.medicine.active_ingredient = "dsofaksdofk"
        self.medicine.laboratory = "dofijasoifjjf"
        self.medicine.description = "oiajdoaisjddj"
        self.medicine.save()

        self.medicine_2 = Medicine()
        self.medicine_2.name = "asdoajsdoiasj"
        self.medicine_2.active_ingredient = "dsofaksdofk"
        self.medicine_2.laboratory = "dofijasoifjjf"
        self.medicine_2.description = "oiajdoaisjddj"
        self.medicine_2.save()

        self.prescription_has_medicine = PrescriptionHasMedicine()
        self.prescription_has_medicine.medicine = self.medicine
        self.prescription_has_medicine.posology = "asd"
        self.prescription_has_medicine.quantity = 1
        self.prescription_has_medicine.pk = 2
        self.prescription_has_medicine.via = 'Via Intravenosa'
        self.prescription_has_medicine.prescription_medicine = self.prescription
        self.prescription_has_medicine.save()

        self.prescription_has_medicine = PrescriptionHasMedicine()
        self.prescription_has_medicine.medicine = self.medicine_2
        self.prescription_has_medicine.posology = "asd"
        self.prescription_has_medicine.quantity = 1
        self.prescription_has_medicine.pk = 21
        self.prescription_has_medicine.via = 'Via Intravenosa'
        self.prescription_has_medicine.prescription_medicine = self.prescription
        self.prescription_has_medicine.save()

        self.default_exam = DefaultExam()
        self.default_exam.id_tuss = 'oiafj'
        self.default_exam.save()

        self.custom_exam = CustomExam()
        self.custom_exam.health_professional_FK = self.health_professional
        self.custom_exam.save()

        self.prescription_default_exam = PrescriptionDefaultExam()
        self.prescription_default_exam.exam = self.default_exam
        self.prescription_default_exam.prescription = self.prescription
        self.prescription_default_exam.save()

        self.prescription_default_exam = PrescriptionDefaultExam()
        self.prescription_default_exam.exam = self.default_exam
        self.prescription_default_exam.prescription = self.prescription_4
        self.prescription_default_exam.save()

        self.prescription_custom_exam = PrescriptionCustomExam()
        self.prescription_custom_exam.exam = self.custom_exam
        self.prescription_custom_exam.prescription = self.prescription
        self.prescription_custom_exam.save()

    def test_prescription_get_with_health_professional(self):
        request = self.factory.get('/prescription/show_patterns/')
        request.user = self.health_professional

        # Get the response
        response = ShowPatternsView.as_view()(request, pk=1)
        self.assertEqual(response.status_code, 200)
Ejemplo n.º 6
0
class TestRequestHomePatient(TestCase):
    def setUp(self):
        self.client = Client()
        self.factory = RequestFactory()
        self.patient = Patient()
        self.patient.pk = 1
        self.patient.name = "Paciente de teste"
        self.patient.date_of_birth = "1991-10-21"
        self.patient.phone = "06199999999"
        self.patient.email = "*****@*****.**"
        self.patient.sex = "M"
        self.patient.id_document = "1000331"
        self.patient.CEP = "72850735"
        self.patient.UF = "DF"
        self.patient.city = "Brasília"
        self.patient.neighborhood = "Asa sul"
        self.patient.complement = "Bloco 2 QD 701"
        self.patient.save()

        self.health_professional = HealthProfessional()
        self.health_professional.pk = 1
        self.health_professional.crm = '12345'
        self.health_professional.crm_state = 'US'
        self.health_professional.specialty_first = 'Nutricao'
        self.health_professional.specialty_second = 'Pediatria'
        self.health_professional.save()

        self.health_professional = HealthProfessional.objects.create_user(
            email='*****@*****.**', password='******')

        self.health_professional_no_specialty_second = HealthProfessional()
        self.health_professional_no_specialty_second.pk = 2
        self.health_professional_no_specialty_second.crm = '11111'
        self.health_professional_no_specialty_second.crm_state = 'US'
        self.health_professional_no_specialty_second.specialty_first = 'Nutricao'
        self.health_professional_no_specialty_second.specialty_second = 'Nao Possui'
        self.health_professional_no_specialty_second.email = '*****@*****.**'
        self.health_professional_no_specialty_second.password = '******'
        self.health_professional_no_specialty_second.save()

        self.disease = Disease()
        self.disease.pk = 1
        self.disease.id_cid_10 = "A01"
        self.disease.description = "A random disease"
        self.disease.save()

        self.prescription = NoPatientPrescription()
        self.prescription.pk = 1
        self.prescription.health_professional = self.health_professional
        self.prescription.cid = self.disease
        self.prescription.patient = "Algum nome"
        self.prescription.save()

        self.prescription_2 = NoPatientPrescription()
        self.prescription_2.pk = 2
        self.prescription_2.health_professional = self.health_professional
        self.prescription_2.cid = self.disease
        self.prescription_2.patient = "Algum nome"
        self.prescription_2.save()

        self.prescription_3 = PatientPrescription()
        self.prescription_3.pk = 3
        self.prescription_3.health_professional = self.health_professional
        self.prescription_3.cid = self.disease
        self.prescription_3.patient = self.patient
        self.prescription_3.save()

        self.prescription_4 = PatientPrescription()
        self.prescription_4.pk = 4
        self.prescription_4.health_professional = self.health_professional
        self.prescription_4.cid = self.disease
        self.prescription_4.patient = self.patient
        self.prescription_4.save()

        self.prescription_5 = PatientPrescription()
        self.prescription_5.pk = 5
        self.prescription_5.health_professional = self.health_professional
        self.prescription_5.cid = self.disease
        self.prescription_5.patient = self.patient
        self.prescription_5.save()

        self.prescription_6 = PatientPrescription()
        self.prescription_6.pk = 6
        self.prescription_6.health_professional = self.health_professional_no_specialty_second
        self.prescription_6.cid = self.disease
        self.prescription_6.patient = self.patient
        self.prescription_6.save()

        self.manipulated_medicine = ManipulatedMedicine()
        self.manipulated_medicine.pk = 1
        self.manipulated_medicine.recipe_name = "teste"
        self.manipulated_medicine.physical_form = "asdadsafdf"
        self.manipulated_medicine.quantity = 12
        self.manipulated_medicine.measurement = "kg"
        self.manipulated_medicine.composition = "aosdjoaisjdoiajsdoij"
        self.manipulated_medicine.health_professional = self.health_professional
        self.manipulated_medicine.save()

        self.manipulated_medicine_2 = ManipulatedMedicine()
        self.manipulated_medicine_2.pk = 2
        self.manipulated_medicine_2.recipe_name = "teste"
        self.manipulated_medicine_2.physical_form = "asdadsafdf"
        self.manipulated_medicine_2.quantity = 12
        self.manipulated_medicine_2.measurement = "kg"
        self.manipulated_medicine_2.composition = "aosdjoaisjdoiajsdoij"
        self.manipulated_medicine_2.health_professional = self.health_professional
        self.manipulated_medicine_2.save()

        self.hasmanipulated_medicine = PrescriptionHasManipulatedMedicine()
        self.hasmanipulated_medicine.manipulated_medicine = self.manipulated_medicine
        self.hasmanipulated_medicine.posology = "asd"
        self.hasmanipulated_medicine.quantity = 1
        self.hasmanipulated_medicine.pk = 2
        self.hasmanipulated_medicine.via = 'Via Intravenosa'
        self.hasmanipulated_medicine.prescription_medicine = self.prescription
        self.hasmanipulated_medicine.save()

        self.hasmanipulated_medicine = PrescriptionHasManipulatedMedicine()
        self.hasmanipulated_medicine.manipulated_medicine = self.manipulated_medicine_2
        self.hasmanipulated_medicine.posology = "asd"
        self.hasmanipulated_medicine.quantity = 1
        self.hasmanipulated_medicine.pk = 12
        self.hasmanipulated_medicine.via = 'Via Intravenosa'
        self.hasmanipulated_medicine.prescription_medicine = self.prescription
        self.hasmanipulated_medicine.save()

        self.hasmanipulated_medicine = PrescriptionHasManipulatedMedicine()
        self.hasmanipulated_medicine.manipulated_medicine = self.manipulated_medicine
        self.hasmanipulated_medicine.posology = "asd"
        self.hasmanipulated_medicine.quantity = 1
        self.hasmanipulated_medicine.pk = 4
        self.hasmanipulated_medicine.via = 'Via Intravenosa'
        self.hasmanipulated_medicine.prescription_medicine = self.prescription_2
        self.hasmanipulated_medicine.save()

        self.recommendation = NewRecommendation()
        self.recommendation.recommendation_description = "recomendacao de teste"
        self.recommendation.save()

        self.prescription_has_recommendation = PrescriptionNewRecommendation()
        self.prescription_has_recommendation.prescription = self.prescription
        self.prescription_has_recommendation.recommendation = self.recommendation
        self.prescription_has_recommendation.save()

        self.prescription_has_recommendation = PrescriptionNewRecommendation()
        self.prescription_has_recommendation.prescription = self.prescription_3
        self.prescription_has_recommendation.recommendation = self.recommendation
        self.prescription_has_recommendation.save()

        self.medicine = Medicine()
        self.medicine.name = "asdoajsdoiasj"
        self.medicine.active_ingredient = "dsofaksdofk"
        self.medicine.laboratory = "dofijasoifjjf"
        self.medicine.description = "oiajdoaisjddj"
        self.medicine.save()

        self.medicine_2 = Medicine()
        self.medicine_2.name = "asdoajsdoiasj"
        self.medicine_2.active_ingredient = "dsofaksdofk"
        self.medicine_2.laboratory = "dofijasoifjjf"
        self.medicine_2.description = "oiajdoaisjddj"
        self.medicine_2.save()

        self.prescription_has_medicine = PrescriptionHasMedicine()
        self.prescription_has_medicine.medicine = self.medicine
        self.prescription_has_medicine.posology = "asd"
        self.prescription_has_medicine.quantity = 1
        self.prescription_has_medicine.pk = 2
        self.prescription_has_medicine.via = 'Via Intravenosa'
        self.prescription_has_medicine.prescription_medicine = self.prescription
        self.prescription_has_medicine.save()

        self.prescription_has_medicine = PrescriptionHasMedicine()
        self.prescription_has_medicine.medicine = self.medicine_2
        self.prescription_has_medicine.posology = "asd"
        self.prescription_has_medicine.quantity = 1
        self.prescription_has_medicine.pk = 21
        self.prescription_has_medicine.via = 'Via Intravenosa'
        self.prescription_has_medicine.prescription_medicine = self.prescription
        self.prescription_has_medicine.save()

        self.default_exam = DefaultExam()
        self.default_exam.id_tuss = 'oiafj'
        self.default_exam.save()

        self.custom_exam = CustomExam()
        self.custom_exam.health_professional_FK = self.health_professional
        self.custom_exam.save()

        self.new_exam = NewExam()
        self.new_exam.exam_description = 'Test String'
        self.new_exam.save()

        self.prescription_default_exam = PrescriptionDefaultExam()
        self.prescription_default_exam.exam = self.default_exam
        self.prescription_default_exam.prescription = self.prescription
        self.prescription_default_exam.save()

        self.prescription_default_exam = PrescriptionDefaultExam()
        self.prescription_default_exam.exam = self.default_exam
        self.prescription_default_exam.prescription = self.prescription_4
        self.prescription_default_exam.save()

        self.prescription_custom_exam = PrescriptionCustomExam()
        self.prescription_custom_exam.exam = self.custom_exam
        self.prescription_custom_exam.prescription = self.prescription
        self.prescription_custom_exam.save()

        self.prescription_new_exam = PrescriptionNewExam()
        self.prescription_new_exam.exam = self.new_exam
        self.prescription_new_exam.prescription = self.prescription
        self.prescription_new_exam.save()

        self.pattern = Pattern()
        self.pattern.name = "Pattern de teste"
        self.pattern.user_creator = self.health_professional
        self.pattern.clinic = "clinica de teste"
        self.pattern.header = "header de teste"
        self.pattern.font = 'Helvetica'
        self.pattern.font_size = '12'
        self.pattern.footer = "footer de teste"
        self.pattern.pagesize = "letter"
        self.pattern.pk = 1
        self.pattern.logo = None
        self.pattern.save()

        self.pattern = Pattern()
        self.pattern.name = "Pattern de teste"
        self.pattern.user_creator = self.health_professional
        self.pattern.clinic = "clinica de teste"
        self.pattern.header = "header de teste"
        self.pattern.font = 'Helvetica'
        self.pattern.font_size = '12'
        self.pattern.footer = "footer de teste"
        self.pattern.pagesize = "A4"
        self.pattern.pk = 2
        self.pattern.logo = None
        self.pattern.save()

        self.pattern = Pattern()
        self.pattern.name = "Pattern de teste"
        self.pattern.user_creator = self.health_professional
        self.pattern.clinic = "clinica de teste"
        self.pattern.header = "header de teste"
        self.pattern.font = 'Helvetica'
        self.pattern.font_size = '12'
        self.pattern.footer = "footer de teste"
        self.pattern.pagesize = "A5"
        self.pattern.pk = 3
        self.pattern.logo = None
        self.pattern.save()
class UpdateMedicationTest(TestCase):
    """
    Testing methods of Class UpdateMedication.
    """
    def setUp(self):
        self.factory = RequestFactory()
        self.health_professional = HealthProfessional.objects.create_user(
            email='*****@*****.**', password='******')
        self.patient = Patient.objects.create_user(email='*****@*****.**',
                                                   password='******',
                                                   CEP='72850735',
                                                   UF='DF',
                                                   city='Brasília',
                                                   neighborhood='Asa sul',
                                                   complement='Bloco 2 QD 701')
        self.recipe_name = "Examina alguma coisa"
        self.composition = "Alguma coisa"

        self.manipulated_medicine = ManipulatedMedicine()
        self.manipulated_medicine.recipe_name = "Manipulated Medicine"
        self.manipulated_medicine.physical_form = "Physical Form"
        self.manipulated_medicine.quantity = 10
        self.manipulated_medicine.measurement = 'kg'
        self.manipulated_medicine.composition = (
            "Manipulated Medicine Composition." +
            "Manipulated Medicine Composition." +
            "Manipulated Medicine Composition." +
            "Manipulated Medicine Composition." +
            "Manipulated Medicine Composition." +
            "Manipulated Medicine Composition.")

        self.manipulated_medicine.health_professional = self.health_professional
        self.manipulated_medicine.pk = 1
        self.manipulated_medicine.save()

    # Testing view calls
    def test_medicine_get_without_login(self):
        request = self.factory.get('medicine/edit_medicine/(?P<pk>[0-9]+)/')
        request.user = AnonymousUser()

        response = UpdateMedicine.as_view()(request, pk=1)
        self.assertEqual(response.status_code, 302)

    def test_medicine_get_with_patient(self):
        request = self.factory.get('medicine/edit_medicine/(?P<pk>[0-9]+)/')
        request.user = self.patient

        with self.assertRaises(PermissionDenied):
            UpdateMedicine.as_view()(request, pk=1)

    def test_medicine_get_with_health_professional(self):
        request = self.factory.get('medicine/edit_medicine/(?P<pk>[0-9]+)/')
        request.user = self.health_professional

        response = UpdateMedicine.as_view()(request, pk=1)
        self.assertEqual(response.status_code, 200)

    def test_medicine_post_without_login(self):
        request = self.factory.post('medicine/edit_medicine/(?P<pk>[0-9]+)/', {
            'recipe_name': self.recipe_name,
            'composition': self.composition
        })
        request.user = AnonymousUser()

        response = UpdateMedicine.as_view()(request, pk=1)
        self.assertEqual(response.status_code, 302)

    def test_medicine_post_with_patient(self):
        request = self.factory.post('medicine/edit_medicine/(?P<pk>[0-9]+)/', {
            'recipe_name': self.recipe_name,
            'composition': self.composition
        })
        request.user = self.patient

        with self.assertRaises(PermissionDenied):
            UpdateMedicine.as_view()(request, pk=1)

    def test_medicine_post_with_health_professional(self):
        request = self.factory.post('medicine/edit_medicine/(?P<pk>[0-9]+)/', {
            'recipe_name': self.recipe_name,
            'composition': self.composition
        })
        request.user = self.health_professional

        response = UpdateMedicine.as_view()(request, pk=1)
        self.assertEqual(response.status_code, 200)
class TestRequiredSuggestionCid(TestCase):

    def setUp(self):
        self.factory = RequestFactory()
        self.client = Client()
        self.view = CreateCopyPrescription()

        self.patient = Patient()
        self.patient.pk = 1
        self.patient.name = "Paciente de teste"
        self.patient.date_of_birth = "1991-10-21"
        self.patient.phone = "06199999999"
        self.patient.email = "*****@*****.**"
        self.patient.sex = "M"
        self.patient.id_document = "1000331"
        self.patient.CEP = "72850735"
        self.patient.UF = "DF"
        self.patient.city = "Brasília"
        self.patient.neighborhood = "Asa sul"
        self.patient.complement = "Bloco 2 QD 701"
        self.patient.save()

        self.health_professional = HealthProfessional()
        self.health_professional.pk = 1
        self.health_professional.crm = '12345'
        self.health_professional.crm_state = 'US'
        self.health_professional.save()

        self.medicine = Medicine()
        self.medicine.name = "Medicamento Teste"
        self.medicine.active_ingredient = "Teste Lab"
        self.medicine.save()

        self.manipulated_medicine = ManipulatedMedicine()
        self.manipulated_medicine.pk = 1
        self.manipulated_medicine.recipe_name = "teste"
        self.manipulated_medicine.physical_form = "asdadsafdf"
        self.manipulated_medicine.quantity = 12
        self.manipulated_medicine.measurement = "kg"
        self.manipulated_medicine.composition = "aosdjoaisjdoiajsdoij"
        self.manipulated_medicine.health_professional = self.health_professional
        self.manipulated_medicine.save()

        self.disease = Disease()
        self.disease.pk = 1
        self.disease.id_cid_10 = "A01"
        self.disease.description = "A random disease"
        self.disease.save()

        self.health_professional_2 = HealthProfessional.objects.create_user(email='*****@*****.**',
                                                                            password='******')

        self.nopatientprescription = NoPatientPrescription()
        self.nopatientprescription.patient = self.patient
        self.nopatientprescription.cid = self.disease
        self.nopatientprescription.health_professional = self.health_professional_2
        self.nopatientprescription.patient = "Junior Marques"
        self.nopatientprescription.save()

        self.patientprescription = PatientPrescription()
        self.patientprescription.patient = self.patient
        self.patientprescription.cid = self.disease
        self.patientprescription.health_professional = self.health_professional_2
        self.patientprescription.patient = self.patient
        self.patientprescription.save()

        self.posology = "Medicamento de Teste"
        self.quantity = 1
        self.via = constants.VIA_CHOICES[0][0]

        self.has_medicine = PrescriptionHasMedicine()
        self.has_medicine.prescription_medicine = self.nopatientprescription.prescription_ptr
        self.has_medicine.medicine = self.medicine
        self.has_medicine.posology = self.posology
        self.has_medicine.via = self.via
        self.has_medicine.quantity = self.quantity
        self.has_medicine.save()

        self.has_manipulated = PrescriptionHasManipulatedMedicine()
        self.has_manipulated.prescription_medicine = self.nopatientprescription.prescription_ptr
        self.has_manipulated.manipulated_medicine = self.manipulated_medicine
        self.has_manipulated.posology = self.posology
        self.has_manipulated.via = self.via
        self.has_manipulated.quantity = self.quantity
        self.has_manipulated.save()

        self.manipulated_medicine = ManipulatedMedicine()
        self.manipulated_medicine.pk = 1
        self.manipulated_medicine.recipe_name = "teste"
        self.manipulated_medicine.physical_form = "asdadsafdf"
        self.manipulated_medicine.quantity = 12
        self.manipulated_medicine.measurement = "kg"
        self.manipulated_medicine.composition = "aosdjoaisjdoiajsdoij"
        self.manipulated_medicine.health_professional = self.health_professional
        self.manipulated_medicine.save()

        self.hasmanipulated_medicine = PrescriptionHasManipulatedMedicine()
        self.hasmanipulated_medicine.manipulated_medicine = self.manipulated_medicine
        self.hasmanipulated_medicine.posology = "asd"
        self.hasmanipulated_medicine.quantity = 1
        self.hasmanipulated_medicine.pk = 2
        self.hasmanipulated_medicine.via = 'Via Intravenosa'
        self.hasmanipulated_medicine.prescription_medicine = self.nopatientprescription.prescription_ptr
        self.hasmanipulated_medicine.save()

        self.hasmanipulated_medicine = PrescriptionHasManipulatedMedicine()
        self.hasmanipulated_medicine.manipulated_medicine = self.manipulated_medicine
        self.hasmanipulated_medicine.posology = "asd"
        self.hasmanipulated_medicine.quantity = 1
        self.hasmanipulated_medicine.pk = 12
        self.hasmanipulated_medicine.via = 'Via Intravenosa'
        self.hasmanipulated_medicine.prescription_medicine = self.nopatientprescription.prescription_ptr
        self.hasmanipulated_medicine.save()

        self.recommendation = NewRecommendation()
        self.recommendation.recommendation_description = "recomendacao de teste"
        self.recommendation.save()

        self.prescription_has_recommendation = PrescriptionNewRecommendation()
        self.prescription_has_recommendation.prescription = self.nopatientprescription.prescription_ptr
        self.prescription_has_recommendation.recommendation = self.recommendation
        self.prescription_has_recommendation.save()

        self.prescription_has_recommendation = PrescriptionNewRecommendation()
        self.prescription_has_recommendation.prescription = self.nopatientprescription.prescription_ptr
        self.prescription_has_recommendation.recommendation = self.recommendation
        self.prescription_has_recommendation.save()

        self.medicine = Medicine()
        self.medicine.name = "asdoajsdoiasj"
        self.medicine.active_ingredient = "dsofaksdofk"
        self.medicine.laboratory = "dofijasoifjjf"
        self.medicine.description = "oiajdoaisjddj"
        self.medicine.save()

        self.prescription_has_medicine = PrescriptionHasMedicine()
        self.prescription_has_medicine.medicine = self.medicine
        self.prescription_has_medicine.posology = "asd"
        self.prescription_has_medicine.quantity = 1
        self.prescription_has_medicine.pk = 2
        self.prescription_has_medicine.via = 'Via Intravenosa'
        self.prescription_has_medicine.prescription_medicine = self.nopatientprescription.prescription_ptr
        self.prescription_has_medicine.save()

        self.default_exam = DefaultExam()
        self.default_exam.id_tuss = 'oiafj'
        self.default_exam.save()

        self.custom_exam = CustomExam()
        self.custom_exam.health_professional_FK = self.health_professional
        self.custom_exam.save()

        self.prescription_default_exam = PrescriptionDefaultExam()
        self.prescription_default_exam.exam = self.default_exam
        self.prescription_default_exam.prescription = self.nopatientprescription.prescription_ptr
        self.prescription_default_exam.save()

        self.prescription_custom_exam = PrescriptionCustomExam()
        self.prescription_custom_exam.exam = self.custom_exam
        self.prescription_custom_exam.prescription = self.nopatientprescription.prescription_ptr
        self.prescription_custom_exam.save()

    def test_prescription_request_no_disease(self):
        request = self.factory.post(
            '/ajax/suggestions_cid/',
            {'id': self.disease.pk},
            HTTP_X_REQUESTED_WITH='XMLHttpRequest'
            )
        request.user = self.health_professional_2
        response = SuggestionsCid.as_view()(request)
        print(response)
        self.assertEquals(response.status_code, 200)

    def test_prescription_request_autocomplete_cid_return_one_disease(self):
        request = self.factory.post('/ajax/suggestions_cid/', {'id': self.disease.pk})
        request.user = self.health_professional
        response = SuggestionsCid.as_view()(request)
        self.assertNotEquals(response, HttpResponse)
Ejemplo n.º 9
0
class TestCreatePrescription(TestCase):
    def setUp(self):
        self.factory = RequestFactory()
        self.client = Client()
        self.view = CreatePrescriptionView()

        self.patient = Patient()
        self.patient.pk = 1
        self.patient.name = "Paciente de teste"
        self.patient.date_of_birth = "1991-10-21"
        self.patient.phone = "06199999999"
        self.patient.email = "*****@*****.**"
        self.patient.sex = "M"
        self.patient.id_document = "1000331"
        self.patient.CEP = "72850735"
        self.patient.UF = "DF"
        self.patient.city = "Brasília"
        self.patient.neighborhood = "Asa sul"
        self.patient.complement = "Bloco 2 QD 701"
        self.patient.is_active = True
        self.patient.save()

        self.health_professional = HealthProfessional()
        self.health_professional.pk = 1
        self.health_professional.crm = '12345'
        self.health_professional.crm_state = 'US'
        self.health_professional.is_active = True
        self.health_professional.save()

        self.manipulated_medicine = ManipulatedMedicine()
        self.manipulated_medicine.pk = 1
        self.manipulated_medicine.recipe_name = "teste"
        self.manipulated_medicine.physical_form = "asdadsafdf"
        self.manipulated_medicine.quantity = 12
        self.manipulated_medicine.measurement = "kg"
        self.manipulated_medicine.composition = "aosdjoaisjdoiajsdoij"
        self.manipulated_medicine.health_professional = self.health_professional
        self.manipulated_medicine.save()

        self.disease = Disease()
        self.disease.pk = 1
        self.disease.id_cid_10 = "A01"
        self.disease.description = "A random disease"
        self.disease.save()

        self.health_professional = HealthProfessional.objects.create_user(
            email='*****@*****.**', password='******')

        self.relation = AssociatedHealthProfessionalAndPatient()
        self.relation.associated_health_professional = self.health_professional
        self.relation.associated_patient = self.patient
        self.relation.is_active = True
        self.relation.save()

        self.not_patient = Patient()
        self.not_patient.email = "*****@*****.**"
        self.not_patient.is_active = True
        self.not_patient.save()

        self.patient_not_actived = Patient()
        self.patient_not_actived.email = "*****@*****.**"
        self.patient_not_actived.is_active = False
        self.patient_not_actived.save()

        self.invitation = SendInvitationProfile()
        self.invitation.patient = self.patient_not_actived
        self.invitation.save()

    def test_prescription_get(self):
        request = self.factory.get('/prescription/create_modal/')
        response = self.view.get(request)
        self.assertEqual(response.status_code, 200)

    @patch('prescription.models.NoPatientPrescription.save',
           MagicMock(name="save"))
    @patch('prescription.models.PrescriptionNewRecommendation.save',
           MagicMock(name="save"))
    def test_prescription_post_with_health_professional(self):
        context = {
            'form_medicine-TOTAL_FORMS': 1,
            'form_medicine-INITIAL_FORMS': 0,
            'form_recommendation-TOTAL_FORMS': 1,
            'form_recommendation-INITIAL_FORMS': 0,
            'form_exam-TOTAL_FORMS': 1,
            'form_exam-INITIAL_FORMS': 0,
            'patient': "JOAO",
            'patient_id': 0,
            'cid_id': 1,
            'medicine_type': 'manipulated_medicine',
            'medicine_id': 1,
            'quantity': 10,
            'posology': 'nao fazer nada',
            'via': 'Via oral',
        }

        request = self.factory.post('/prescription/create_modal/', context)
        request.user = self.health_professional

        # Get the response
        response = CreatePrescriptionView.as_view()(request)
        self.assertEqual(response.status_code, 200)

        # # Check save was called
        self.assertTrue(NoPatientPrescription.save.called)
        self.assertEqual(NoPatientPrescription.save.call_count, 1)

    @patch('prescription.models.PatientPrescription.save',
           MagicMock(name="save"))
    @patch('prescription.models.PrescriptionNewRecommendation.save',
           MagicMock(name="save"))
    def test_prescription_post_with_health_professional_patient(self):
        context = {
            'form_medicine-TOTAL_FORMS': 1,
            'form_medicine-INITIAL_FORMS': 0,
            'form_recommendation-TOTAL_FORMS': 1,
            'form_recommendation-INITIAL_FORMS': 0,
            'form_exam-TOTAL_FORMS': 1,
            'form_exam-INITIAL_FORMS': 0,
            'patient': "JOAO",
            'patient_id': 1,
            'email': self.patient.email,
            'cid_id': 1,
            'medicine_type': 'manipulated_medicine',
            'medicine_id': 1,
            'quantity': 10,
            'posology': 'nao fazer nada',
            'via': 'Via oral',
        }

        request = self.factory.post('/prescription/create_modal/', context)
        request.user = self.health_professional

        # Get the response
        response = CreatePrescriptionView.as_view()(request)
        self.assertEqual(response.status_code, 200)

        # # Check save was called
        self.assertTrue(PatientPrescription.save.called)
        self.assertEqual(PatientPrescription.save.call_count, 1)

    @patch('prescription.models.PatientPrescription.save',
           MagicMock(name="save"))
    @patch('prescription.models.PrescriptionNewRecommendation.save',
           MagicMock(name="save"))
    def test_prescription_post_with_patient_not_linked(self):
        context = {
            'form_medicine-TOTAL_FORMS': 1,
            'form_medicine-INITIAL_FORMS': 0,
            'form_recommendation-TOTAL_FORMS': 1,
            'form_recommendation-INITIAL_FORMS': 0,
            'form_exam-TOTAL_FORMS': 1,
            'form_exam-INITIAL_FORMS': 0,
            'patient': "JOAO",
            'email': self.not_patient.email,
            'cid_id': 1,
            'medicine_type': 'manipulated_medicine',
            'medicine_id': 1,
            'quantity': 10,
            'posology': 'nao fazer nada',
            'via': 'Via oral',
        }

        request = self.factory.post('/prescription/create_modal/', context)
        request.user = self.health_professional

        # Get the response
        response = CreatePrescriptionView.as_view()(request)
        self.assertEqual(response.status_code, 200)

        # Checking the creation of link between users.
        link = AssociatedHealthProfessionalAndPatient.objects.filter(
            associated_health_professional=self.health_professional,
            associated_patient=self.not_patient)
        self.assertTrue(link.exists())
        self.assertTrue(link.first().is_active)

        # # Check save was called
        self.assertTrue(PatientPrescription.save.called)
        self.assertEqual(PatientPrescription.save.call_count, 1)

    @patch('prescription.models.PatientPrescription.save',
           MagicMock(name="save"))
    @patch('prescription.models.PrescriptionNewRecommendation.save',
           MagicMock(name="save"))
    def test_prescription_post_with_patient_doesnt_exist(self):
        context = {
            'form_medicine-TOTAL_FORMS': 1,
            'form_medicine-INITIAL_FORMS': 0,
            'form_recommendation-TOTAL_FORMS': 1,
            'form_recommendation-INITIAL_FORMS': 0,
            'form_exam-TOTAL_FORMS': 1,
            'form_exam-INITIAL_FORMS': 0,
            'patient': "JOAO",
            'email': "*****@*****.**",
            'cid_id': 1,
            'medicine_type': 'manipulated_medicine',
            'medicine_id': 1,
            'quantity': 10,
            'posology': 'nao fazer nada',
            'via': 'Via oral',
        }

        request = self.factory.post('/prescription/create_modal/', context)
        request.user = self.health_professional

        # Get the response
        response = CreatePrescriptionView.as_view()(request)
        self.assertEqual(response.status_code, 200)

        # Checking the creation of patient not existence.
        patient = Patient.objects.filter(email="*****@*****.**")
        self.assertTrue(patient.exists())

        # Checking the creation of link between users.
        link = AssociatedHealthProfessionalAndPatient.objects.filter(
            associated_health_professional=self.health_professional,
            associated_patient=patient.first())
        self.assertTrue(link.exists())
        self.assertFalse(link.first().is_active)

        # Check save was called
        self.assertTrue(PatientPrescription.save.called)
        self.assertEqual(PatientPrescription.save.call_count, 1)

    @patch('prescription.models.PatientPrescription.save',
           MagicMock(name="save"))
    @patch('prescription.models.PrescriptionNewRecommendation.save',
           MagicMock(name="save"))
    def test_prescription_post_with_patient_not_actived(self):
        context = {
            'form_medicine-TOTAL_FORMS': 1,
            'form_medicine-INITIAL_FORMS': 0,
            'form_recommendation-TOTAL_FORMS': 1,
            'form_recommendation-INITIAL_FORMS': 0,
            'form_exam-TOTAL_FORMS': 1,
            'form_exam-INITIAL_FORMS': 0,
            'patient': "JOAO",
            'email': self.patient_not_actived.email,
            'cid_id': 1,
            'medicine_type': 'manipulated_medicine',
            'medicine_id': 1,
            'quantity': 10,
            'posology': 'nao fazer nada',
            'via': 'Via oral',
        }

        request = self.factory.post('/prescription/create_modal/', context)
        request.user = self.health_professional

        # Get the response
        response = CreatePrescriptionView.as_view()(request)
        self.assertEqual(response.status_code, 200)

        # # Check save was called
        self.assertTrue(PatientPrescription.save.called)
        self.assertEqual(PatientPrescription.save.call_count, 1)

    def test_prescription_get_with_health_professional(self):

        request = self.factory.post('/prescription/create_modal/')
        request.user = self.health_professional

        # Get the response
        response = CreatePrescriptionView.as_view()(request)
        self.assertEqual(response.status_code, 200)
Ejemplo n.º 10
0
class TestPrintPrescriptionPatient(TestCase):
    def setUp(self):
        self.factory = RequestFactory()
        self.client = Client()
        self.view = PrintPrescriptionPatient.generate_pdf

        self.patient = Patient()
        self.patient.pk = 1
        self.patient.name = "Paciente de teste"
        self.patient.date_of_birth = "1991-10-21"
        self.patient.phone = "06199999999"
        self.patient.email = "*****@*****.**"
        self.patient.sex = "M"
        self.patient.id_document = "1000331"
        self.patient.CEP = "72850735"
        self.patient.UF = "DF"
        self.patient.city = "Brasília"
        self.patient.neighborhood = "Asa sul"
        self.patient.complement = "Bloco 2 QD 701"
        self.patient.save()

        self.health_professional = HealthProfessional()
        self.health_professional.pk = 1
        self.health_professional.crm = '12345'
        self.health_professional.crm_state = 'US'
        self.health_professional.specialty_first = 'Nutricao'
        self.health_professional.specialty_second = 'Pediatria'
        self.health_professional.email = '*****@*****.**'
        self.health_professional.password = '******'
        self.health_professional.save()

        self.health_professional_no_specialty_second = HealthProfessional()
        self.health_professional_no_specialty_second.pk = 2
        self.health_professional_no_specialty_second.crm = '11111'
        self.health_professional_no_specialty_second.crm_state = 'US'
        self.health_professional_no_specialty_second.specialty_first = 'Nutricao'
        self.health_professional_no_specialty_second.specialty_second = 'Nao Possui'
        self.health_professional_no_specialty_second.email = '*****@*****.**'
        self.health_professional_no_specialty_second.password = '******'
        self.health_professional_no_specialty_second.save()

        self.disease = Disease()
        self.disease.pk = 1
        self.disease.id_cid_10 = "A01"
        self.disease.description = "A random disease"
        self.disease.save()

        self.prescription = NoPatientPrescription()
        self.prescription.pk = 1
        self.prescription.health_professional = self.health_professional
        self.prescription.cid = self.disease
        self.prescription.patient = "Algum nome"
        self.prescription.save()

        self.prescription_2 = NoPatientPrescription()
        self.prescription_2.pk = 2
        self.prescription_2.health_professional = self.health_professional
        self.prescription_2.cid = self.disease
        self.prescription_2.patient = "Algum nome"
        self.prescription_2.save()

        self.prescription_3 = PatientPrescription()
        self.prescription_3.pk = 3
        self.prescription_3.health_professional = self.health_professional
        self.prescription_3.cid = self.disease
        self.prescription_3.patient = self.patient
        self.prescription_3.save()

        self.prescription_4 = PatientPrescription()
        self.prescription_4.pk = 4
        self.prescription_4.health_professional = self.health_professional
        self.prescription_4.cid = self.disease
        self.prescription_4.patient = self.patient
        self.prescription_4.save()

        self.prescription_5 = PatientPrescription()
        self.prescription_5.pk = 5
        self.prescription_5.health_professional = self.health_professional
        self.prescription_5.cid = self.disease
        self.prescription_5.patient = self.patient
        self.prescription_5.save()

        self.prescription_6 = PatientPrescription()
        self.prescription_6.pk = 6
        self.prescription_6.health_professional = self.health_professional_no_specialty_second
        self.prescription_6.cid = self.disease
        self.prescription_6.patient = self.patient
        self.prescription_6.save()

        self.manipulated_medicine = ManipulatedMedicine()
        self.manipulated_medicine.pk = 1
        self.manipulated_medicine.recipe_name = "teste"
        self.manipulated_medicine.physical_form = "asdadsafdf"
        self.manipulated_medicine.quantity = 12
        self.manipulated_medicine.measurement = "kg"
        self.manipulated_medicine.composition = "aosdjoaisjdoiajsdoij"
        self.manipulated_medicine.health_professional = self.health_professional
        self.manipulated_medicine.save()

        self.manipulated_medicine_2 = ManipulatedMedicine()
        self.manipulated_medicine_2.pk = 2
        self.manipulated_medicine_2.recipe_name = "teste"
        self.manipulated_medicine_2.physical_form = "asdadsafdf"
        self.manipulated_medicine_2.quantity = 12
        self.manipulated_medicine_2.measurement = "kg"
        self.manipulated_medicine_2.composition = "aosdjoaisjdoiajsdoij"
        self.manipulated_medicine_2.health_professional = self.health_professional
        self.manipulated_medicine_2.save()

        self.hasmanipulated_medicine = PrescriptionHasManipulatedMedicine()
        self.hasmanipulated_medicine.manipulated_medicine = self.manipulated_medicine
        self.hasmanipulated_medicine.posology = "asd"
        self.hasmanipulated_medicine.quantity = 1
        self.hasmanipulated_medicine.pk = 2
        self.hasmanipulated_medicine.via = 'Via Intravenosa'
        self.hasmanipulated_medicine.prescription_medicine = self.prescription
        self.hasmanipulated_medicine.save()

        self.hasmanipulated_medicine = PrescriptionHasManipulatedMedicine()
        self.hasmanipulated_medicine.manipulated_medicine = self.manipulated_medicine_2
        self.hasmanipulated_medicine.posology = "asd"
        self.hasmanipulated_medicine.quantity = 1
        self.hasmanipulated_medicine.pk = 12
        self.hasmanipulated_medicine.via = 'Via Intravenosa'
        self.hasmanipulated_medicine.prescription_medicine = self.prescription
        self.hasmanipulated_medicine.save()

        self.hasmanipulated_medicine = PrescriptionHasManipulatedMedicine()
        self.hasmanipulated_medicine.manipulated_medicine = self.manipulated_medicine
        self.hasmanipulated_medicine.posology = "asd"
        self.hasmanipulated_medicine.quantity = 1
        self.hasmanipulated_medicine.pk = 4
        self.hasmanipulated_medicine.via = 'Via Intravenosa'
        self.hasmanipulated_medicine.prescription_medicine = self.prescription_2
        self.hasmanipulated_medicine.save()

        self.recommendation = NewRecommendation()
        self.recommendation.recommendation_description = "recomendacao de teste"
        self.recommendation.save()

        self.prescription_has_recommendation = PrescriptionNewRecommendation()
        self.prescription_has_recommendation.prescription = self.prescription
        self.prescription_has_recommendation.recommendation = self.recommendation
        self.prescription_has_recommendation.save()

        self.prescription_has_recommendation = PrescriptionNewRecommendation()
        self.prescription_has_recommendation.prescription = self.prescription_3
        self.prescription_has_recommendation.recommendation = self.recommendation
        self.prescription_has_recommendation.save()

        self.medicine = Medicine()
        self.medicine.name = "asdoajsdoiasj"
        self.medicine.active_ingredient = "dsofaksdofk"
        self.medicine.laboratory = "dofijasoifjjf"
        self.medicine.description = "oiajdoaisjddj"
        self.medicine.save()

        self.medicine_2 = Medicine()
        self.medicine_2.name = "asdoajsdoiasj"
        self.medicine_2.active_ingredient = "dsofaksdofk"
        self.medicine_2.laboratory = "dofijasoifjjf"
        self.medicine_2.description = "oiajdoaisjddj"
        self.medicine_2.save()

        self.prescription_has_medicine = PrescriptionHasMedicine()
        self.prescription_has_medicine.medicine = self.medicine
        self.prescription_has_medicine.posology = "asd"
        self.prescription_has_medicine.quantity = 1
        self.prescription_has_medicine.pk = 2
        self.prescription_has_medicine.via = 'Via Intravenosa'
        self.prescription_has_medicine.prescription_medicine = self.prescription
        self.prescription_has_medicine.save()

        self.prescription_has_medicine = PrescriptionHasMedicine()
        self.prescription_has_medicine.medicine = self.medicine_2
        self.prescription_has_medicine.posology = "asd"
        self.prescription_has_medicine.quantity = 1
        self.prescription_has_medicine.pk = 21
        self.prescription_has_medicine.via = 'Via Intravenosa'
        self.prescription_has_medicine.prescription_medicine = self.prescription
        self.prescription_has_medicine.save()

        self.default_exam = DefaultExam()
        self.default_exam.id_tuss = 'oiafj'
        self.default_exam.save()

        self.custom_exam = CustomExam()
        self.custom_exam.health_professional_FK = self.health_professional
        self.custom_exam.save()

        self.prescription_default_exam = PrescriptionDefaultExam()
        self.prescription_default_exam.exam = self.default_exam
        self.prescription_default_exam.prescription = self.prescription
        self.prescription_default_exam.save()

        self.prescription_default_exam = PrescriptionDefaultExam()
        self.prescription_default_exam.exam = self.default_exam
        self.prescription_default_exam.prescription = self.prescription_4
        self.prescription_default_exam.save()

        self.prescription_custom_exam = PrescriptionCustomExam()
        self.prescription_custom_exam.exam = self.custom_exam
        self.prescription_custom_exam.prescription = self.prescription
        self.prescription_custom_exam.save()

    def test_print_prescription_get_no_second_speciality(self):
        request = self.factory.get('/prescription/print_prescription/1/3')
        response = self.view(request, pk=6)
        self.assertEqual(response.status_code, 200)

    def test_print_prescription(self):
        request = self.factory.get('/prescription/print_prescription/1/3')
        response = self.view(request, pk=1)
        self.assertEqual(response.status_code, 200)

    def test_print_prescription_get_invalid_medicine(self):
        request = self.factory.get('/prescription/print_prescription/2')
        response = self.view(request, pk=2)
        self.assertEqual(response.status_code, 200)

    def test_print_prescription_get_invalid_recommendation(self):
        request = self.factory.get('/prescription/print_prescription/3')
        response = self.view(request, pk=3)
        self.assertEqual(response.status_code, 200)

    def test_print_prescription_get_invalid_exam(self):
        request = self.factory.get('/prescription/print_prescription/4')
        response = self.view(request, pk=4)
        self.assertEqual(response.status_code, 200)

    def test_print_prescription_get_invalid(self):
        request = self.factory.get('/prescription/print_prescription/3')
        response = self.view(request, pk=3)
        self.assertEqual(response.status_code, 200)