def test_people_delete_active_dqis(self):
        org = Organization.objects.create(name="Democratic", jurisdiction=self.jur)
        p = Person.objects.create(name="John Snow")
        Membership.objects.create(person=p, organization=org)
        # Some Data Quality Issues
        DataQualityIssue.objects.create(jurisdiction=org.jurisdiction,
                                        content_object=p,
                                        issue='person-missing-phone',
                                        status='active')
        DataQualityIssue.objects.create(jurisdiction=org.jurisdiction,
                                        content_object=p,
                                        issue='person-missing-address',
                                        status='ignored')
        DataQualityIssue.objects.create(jurisdiction=org.jurisdiction,
                                        content_object=p,
                                        issue='person-missing-email',
                                        status='active')
        people_report(self.jur)

        ignored_issues = DataQualityIssue.objects.filter(
            status='ignored', issue='person-missing-address'
        )
        active_issues = DataQualityIssue.objects.filter(status='active')
        self.assertEqual(len(ignored_issues), 1)
        self.assertEqual(len(active_issues), 3)
 def test_people_zzz_valueerror_on_not_updated_new_issue(self):
     IssueType('missing-name', 'Missing Name', 'person', 'error')
     DataQualityIssue._meta.get_field('issue').choices.append(
         ('missing-name', 'Missing Name'))
     try:
         people_report(self.jur)
     except ValueError as e:
         exception_raised = True
         self.assertEqual(str(e), 'People Importer needs update for new issue.')
     self.assertEqual(exception_raised, True)
    def test_people_missing_address(self):
        org = Organization.objects.create(name="Democratic", jurisdiction=self.jur)
        person = Person.objects.create(name="Missing Address",
                                       image="http://personimage.png")
        PersonContactDetail.objects.create(person=person, type='email',
                                           value="*****@*****.**")
        PersonContactDetail.objects.create(person=person, type='voice',
                                           value="1234567890")

        Membership.objects.create(person=person, organization=org)

        people_report(self.jur)

        ma = DataQualityIssue.objects.filter(issue='person-missing-address')
        rest = DataQualityIssue.objects.exclude(issue='person-missing-address')
        self.assertEqual(len(ma), 1)
        self.assertQuerysetEqual(rest, [])
예제 #4
0
    def test_people_missing_phone(self):
        org = Organization.objects.get(name="Democratic")
        person = Person.objects.create(name="Missing Phone",
                                       image="http://personimage.png")
        PersonContactDetail.objects.create(person=person,
                                           type='address',
                                           value="New York")
        PersonContactDetail.objects.create(person=person,
                                           type='email',
                                           value="*****@*****.**")

        Membership.objects.create(person=person, organization=org)

        people_report(self.jur)

        mp = DataQualityIssue.objects.filter(issue='person-missing-phone')
        rest = DataQualityIssue.objects.exclude(issue='person-missing-phone')
        self.assertEqual(len(mp), 1)
        self.assertQuerysetEqual(rest, [])
예제 #5
0
    def test_people_missing_email(self):
        org = Organization.objects.get(name="Democratic")
        person = Person.objects.create(name="Missing Email",
                                       image="http://personimage.png")
        PersonContactDetail.objects.create(person=person,
                                           type='address',
                                           value="New York")
        PersonContactDetail.objects.create(person=person,
                                           type='voice',
                                           value="1234567890")

        Membership.objects.create(person=person, organization=org)

        people_report(self.jur)

        me = DataQualityIssue.objects.filter(issue='person-missing-email')
        rest = DataQualityIssue.objects.exclude(issue='person-missing-email')
        self.assertEqual(len(me), 1)
        self.assertQuerysetEqual(rest, [])
    def test_people_missing_photo(self):
        org = Organization.objects.create(name="Democratic", jurisdiction=self.jur)

        person = Person.objects.create(name="Missing Photo")
        PersonContactDetail.objects.create(person=person, type='address',
                                           value="New York")
        PersonContactDetail.objects.create(person=person, type='email',
                                           value="*****@*****.**")
        PersonContactDetail.objects.create(person=person, type='voice',
                                           value="1234567890")
        Membership.objects.create(person=person, organization=org)

        # To check that on running twice no duplicate DataQualityIssue are being created.
        people_report(self.jur)
        people_report(self.jur)

        mp = DataQualityIssue.objects.filter(issue='person-missing-photo')
        rest = DataQualityIssue.objects.exclude(issue='person-missing-photo')

        self.assertEqual(len(mp), 1)
        self.assertQuerysetEqual(rest, [])