def setUp(self): self.emails = ["*****@*****.**", "*****@*****.**"] self.agency = Agency(name='Agency With Offices', zip_code=20404, emails=self.emails) self.agency.save() self.office = Office(agency=self.agency, name='Office 1', zip_code=20404, emails=self.emails) self.office.save() self.office2 = Office(agency=self.agency, name='Office 2', zip_code=20404, emails=self.emails) self.office2.save() self.agency2 = Agency(name='Agency Without Offices', zip_code=20009, emails=self.emails) self.agency2.save() self.requester = Requester.objects.create(first_name='Alice', last_name='Bobson', email='*****@*****.**') self.request = FOIARequest.objects.create( requester=self.requester, office=self.office, date_end=date.today(), request_body='All the cheese')
def test_agency_save(self): agency = Agency(name='Department of Transportation') agency.save() retrieved = Agency.objects.get(pk=agency.pk) self.assertEqual( 'Agency: Department of Transportation', str(retrieved)) self.assertEqual(retrieved.slug, 'department-of-transportation')
def test_common_requests_field(self): """Verify that we can treat a JSONField as a list""" agency = Agency(name='Dr. Suess', common_requests=['Thing one', 'Thing two', 'Red Fish']) agency.save() # Serialized to the DB and back again retrieved = Agency.objects.get(pk=agency.pk) self.assertEqual(retrieved.common_requests, ['Thing one', 'Thing two', 'Red Fish']) agency.delete()
def test_office_save(self): agency = Agency(name='Department of Commerce') agency.save() office = Office(name='Commerce Is FUNdamental', agency=agency) office.save() retrieved = Office.objects.get(pk=office.pk) self.assertEqual(retrieved.office_slug, 'commerce-is-fundamental') self.assertEqual( retrieved.slug, 'department-of-commerce--commerce-is-fundamental')
def setUp(self): self.emails = ["*****@*****.**", "*****@*****.**"] self.agency = Agency(name='Agency With Offices', zip_code=20404, emails=self.emails) self.agency.save() self.office = Office(agency=self.agency, name='Office 1', zip_code=20404, emails=self.emails) self.office.save()
def test_no_email(self): """ For agencies without their own request form, and without an email address, do not display a FOIA request form. """ a = Agency(name="Broadcasting Board of Governors", slug="brodcasting") a.save() response = self.client.get( reverse('contact_landing', args=['broadcasting'])) self.assertTrue(200, response.status_code) content = response.content.decode('utf-8') self.assertTrue('Request online' not in content)
def test_agency_preparer(self): """ Test the preparer that deals with just the unique Agency fields. """ agency = Agency(name='agency-name', description='agency-description', abbreviation='AN', slug='agency-slug') fields_preparer = agency_preparer() ap = fields_preparer.prepare(agency) self.assertEqual('agency-name', ap['name']) self.assertEqual('agency-description', ap['description']) self.assertEqual('AN', ap['abbreviation']) self.assertEqual('agency-slug', ap['slug'])
def setUp(self): self.emails = ["*****@*****.**", "*****@*****.**"] self.agency = Agency(name='Agency With Offices', zip_code=20404, emails=self.emails) self.agency.save() self.office = Office(agency=self.agency, name='Office 1', zip_code=20404, emails=self.emails) self.office.save() # Turn off SHOW_WEBFORM settings.SHOW_WEBFORM = False self.reload_urls()
def test_statstest_save(self): """ Confirm obj saves and validate number handling. """ agency = Agency(name='Department of Homeland Security') agency.save() stats = Stats( agency=agency, year=2014, stat_type='S', median=1.26, ) stats.save() retrieved = Stats.objects.get(pk=stats.pk) self.assertEqual(retrieved.median, 1.26) self.assertEqual(retrieved.less_than_one, False)
def test_create_request_no_email(self): """ Try to submit a request to an agency that has no online form, and no email address. This should fail with the appropriate HTTP status code. """ a = Agency(name="Broadcasting Board of Governors", slug="broadcasting") a.save() c = Client() data = { 'agency': 'broadcasting', 'first_name': 'Joe', 'last_name': 'Public', 'email': '*****@*****.**', 'body': 'I want documents about palm trees.' } data_string = json.dumps(data) response = c.post('/api/request/', content_type="application.json", data=data_string) self.assertEqual(400, response.status_code)