Пример #1
0
 def test_screening_care_facility_location(self):
     data = self.get_subject_screening_form_data(gender=MALE)
     data.update(care=NO,
                 care_not_in_reason="blah blah",
                 care_facility_location="somewhere")
     form = SubjectScreeningForm(data=data, instance=None)
     form.is_valid()
     self.assertIn("care_facility_location", form._errors)
Пример #2
0
 def test_screening_no_matching_gender(self):
     for mocca_register in [self.mocca_register, self.mocca_register_male]:
         with self.subTest(mocca_register=mocca_register):
             data = self.get_subject_screening_form_data(mocca_register)
             data.update(
                 gender=FEMALE if data.get("gender") == MALE else MALE)
             form = SubjectScreeningForm(data=data, instance=None)
             form.is_valid()
             self.assertIn("gender", form._errors)
Пример #3
0
 def test_screening_no_matching_site(self):
     data = self.get_subject_screening_form_data(gender=MALE)
     sites = {
         k: v
         for k, v in self.mocca_sites.items()
         if v.name != self.mocca_site.name
     }
     mocca_site = MoccaOriginalSites.objects.get(name=list(sites)[0])
     data.update(mocca_site=mocca_site)
     form = SubjectScreeningForm(data=data, instance=None)
     form.is_valid()
     self.assertIn("mocca_site", form._errors)
Пример #4
0
    def test_screening_invalid_by_age(self):

        data = self.get_subject_screening_form_data(gender=MALE)

        responses = dict(age_in_years=300, )

        for k, v in responses.items():
            with self.subTest(k=v):
                data.update({k: v})
                form = SubjectScreeningForm(data=data, instance=None)
                form.is_valid()
                self.assertIn("age_in_years", form._errors)
Пример #5
0
    def test_screening_unsuitable(self):

        data = self.get_subject_screening_form_data(gender=FEMALE)
        data.update(unsuitable_for_study=YES)
        form = SubjectScreeningForm(data=data, instance=None)
        form.is_valid()
        form.save()
        self.assertFalse(
            SubjectScreening.objects.get(mocca_study_identifier=data.get(
                "mocca_study_identifier")).eligible)
Пример #6
0
 def test_screening_ok(self):
     for mocca_register in [self.mocca_register, self.mocca_register_male]:
         with self.subTest(mocca_register=mocca_register):
             form = SubjectScreeningForm(
                 data=self.get_subject_screening_form_data(
                     mocca_register=mocca_register),
                 instance=None,
             )
             form.is_valid()
             self.assertEqual(form._errors, {})
             form.save()
             self.assertTrue(SubjectScreening.objects.all()[0].eligible)
Пример #7
0
 def screen(self, field, value):
     for gender in [MALE, FEMALE]:
         if field == "pregnant" and gender == MALE:
             continue
         data = self.get_subject_screening_form_data(gender=gender)
         data.update({field: value})
         if field == "care":
             data.update(
                 care_not_in_reason="blah blah",
                 care_facility_location=NOT_APPLICABLE,
                 icc=NOT_APPLICABLE,
                 icc_since_mocca=NO,
             )
         form = SubjectScreeningForm(data=data, instance=None)
         form.is_valid()
         self.assertEqual(form._errors, {})
         form.save()
         self.assertFalse(
             SubjectScreening.objects.get(mocca_study_identifier=data.get(
                 "mocca_study_identifier")).eligible)
Пример #8
0
 def test_screening_no_matching_initials(self):
     data = self.get_subject_screening_form_data(gender=MALE)
     data.update(initials="XX")
     form = SubjectScreeningForm(data=data, instance=None)
     form.is_valid()
     self.assertIn("initials", form._errors)
Пример #9
0
 def test_screening_no_matching_study_identifier(self):
     data = self.get_subject_screening_form_data(gender=MALE)
     data.update(mocca_study_identifier="1111111")
     form = SubjectScreeningForm(data=data, instance=None)
     form.is_valid()
     self.assertIn("mocca_study_identifier", form._errors)
Пример #10
0
 def test_screening_care_reason(self):
     data = self.get_subject_screening_form_data(gender=MALE)
     data.update(care=NO)
     form = SubjectScreeningForm(data=data, instance=None)
     form.is_valid()
     self.assertIn("care_not_in_reason", form._errors)
Пример #11
0
 def test_screening_no_matching_birth_year(self):
     data = self.get_subject_screening_form_data(gender=MALE)
     data.update(birth_year=1901)
     form = SubjectScreeningForm(data=data, instance=None)
     form.is_valid()
     self.assertIn("birth_year", form._errors)