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, [])
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, [])
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, [])