def test_web_page(self): pb = PublicBody.objects.all()[0] category = factories.CategoryFactory.create(is_topic=True) pb.categories.add(category) factories.rebuild_index() response = self.client.get(reverse('publicbody-list')) self.assertEqual(response.status_code, 200) response = self.client.get( reverse('publicbody-list', kwargs={'category': category.slug})) self.assertEqual(response.status_code, 200) self.assertContains(response, pb.name) response = self.client.get( reverse('publicbody-list', kwargs={'jurisdiction': pb.jurisdiction.slug})) self.assertEqual(response.status_code, 200) self.assertContains(response, pb.name) response = self.client.get( reverse('publicbody-list', kwargs={ 'jurisdiction': pb.jurisdiction.slug, 'category': category.slug })) self.assertEqual(response.status_code, 200) self.assertContains(response, pb.name) response = self.client.get( reverse('publicbody-show', kwargs={"slug": pb.slug})) self.assertEqual(response.status_code, 200)
def test_web_page(self): pb = PublicBody.objects.all()[0] category = factories.CategoryFactory.create(is_topic=True) pb.categories.add(category) factories.rebuild_index() response = self.client.get(reverse('publicbody-list')) self.assertEqual(response.status_code, 200) response = self.client.get(reverse('publicbody-list', kwargs={ 'category': category.slug })) self.assertEqual(response.status_code, 200) self.assertContains(response, pb.name) response = self.client.get(reverse('publicbody-list', kwargs={ 'jurisdiction': pb.jurisdiction.slug })) self.assertEqual(response.status_code, 200) self.assertContains(response, pb.name) response = self.client.get(reverse('publicbody-list', kwargs={ 'jurisdiction': pb.jurisdiction.slug, 'category': category.slug })) self.assertEqual(response.status_code, 200) self.assertContains(response, pb.name) response = self.client.get(reverse('publicbody-show', kwargs={"slug": pb.slug})) self.assertEqual(response.status_code, 200)
def test_feed(self): factories.rebuild_index() response = self.client.get(reverse('foirequest-feed_latest')) self.assertRedirects(response, reverse('foirequest-list_feed'), status_code=301) response = self.client.get(reverse('foirequest-feed_latest_atom')) self.assertRedirects(response, reverse('foirequest-list_feed_atom'), status_code=301) response = self.client.get(reverse('foirequest-list_feed')) self.assertEqual(response.status_code, 200) response = self.client.get(reverse('foirequest-list_feed_atom')) self.assertEqual(response.status_code, 200) juris = Jurisdiction.objects.all()[0] response = self.client.get(reverse('foirequest-list_feed', kwargs={ 'jurisdiction': juris.slug })) self.assertEqual(response.status_code, 200) response = self.client.get(reverse('foirequest-list_feed_atom', kwargs={ 'jurisdiction': juris.slug })) self.assertEqual(response.status_code, 200) topic = Category.objects.filter(is_topic=True)[0] response = self.client.get(reverse('foirequest-list_feed', kwargs={ 'jurisdiction': juris.slug, 'category': topic.slug })) self.assertEqual(response.status_code, 200) response = self.client.get(reverse('foirequest-list_feed_atom', kwargs={ 'jurisdiction': juris.slug, 'category': topic.slug })) self.assertEqual(response.status_code, 200) status = FOIREQUEST_FILTERS[0][0] response = self.client.get(reverse('foirequest-list_feed', kwargs={ 'jurisdiction': juris.slug, 'status': status })) self.assertEqual(response.status_code, 200) response = self.client.get(reverse('foirequest-list_feed_atom', kwargs={ 'jurisdiction': juris.slug, 'status': status })) self.assertEqual(response.status_code, 200) req = FoiRequest.objects.all()[0] response = self.client.get(reverse('foirequest-feed_atom', kwargs={"slug": req.slug})) self.assertEqual(response.status_code, 200) response = self.client.get(reverse('foirequest-feed', kwargs={"slug": req.slug})) self.assertEqual(response.status_code, 200)
def test_publicbody_requests(self): factories.rebuild_index() req = FoiRequest.published.all()[0] pb = req.public_body response = self.client.get(reverse('foirequest-list', kwargs={"publicbody": pb.slug})) self.assertEqual(response.status_code, 200) self.assertContains(response, req.title) response = self.client.get(reverse('foirequest-list_feed', kwargs={"publicbody": pb.slug})) self.assertEqual(response.status_code, 200) response = self.client.get(reverse('foirequest-list_feed_atom', kwargs={"publicbody": pb.slug})) self.assertEqual(response.status_code, 200)
def test_search_similar(self): search_url = '/api/v1/request/search/' response = self.client.get(search_url) self.assertEqual(response.status_code, 200) self.assertContains(response, '"objects":[]') self.assertEqual(response['Content-Type'], 'application/json') req = FoiRequest.objects.all()[0] factories.rebuild_index() response = self.client.get('%s?%s' % (search_url, urlencode({'q': req.title}))) self.assertEqual(response.status_code, 200) self.assertContains(response, 'title') self.assertContains(response, 'description')
def test_autocomplete(self): pb = PublicBody.objects.all()[0] factories.rebuild_index() response = self.client.get('%s?q=%s' % ( '/api/v1/publicbody/search/', pb.name)) self.assertEqual(response.status_code, 200) obj = json.loads(response.content.decode('utf-8')) self.assertIn(pb.name, obj['objects']['results'][0]['name']) response = self.client.get('%s?query=%s&jurisdiction=non_existant' % ( '/api/v1/publicbody/search/', pb.name)) self.assertEqual(response.status_code, 200) obj = json.loads(response.content.decode('utf-8')) self.assertEqual(obj['objects']['results'], [])
def test_list_jurisdiction_requests(self): factories.rebuild_index() juris = Jurisdiction.objects.all()[0] response = self.client.get(reverse('foirequest-list'), kwargs={'jurisdiction': juris.slug}) self.assertEqual(response.status_code, 200) for urlpart in FOIREQUEST_FILTER_DICT: response = self.client.get(reverse('foirequest-list', kwargs={"status": urlpart, 'jurisdiction': juris.slug})) self.assertEqual(response.status_code, 200) for topic in Category.objects.filter(is_topic=True): response = self.client.get(reverse('foirequest-list', kwargs={"category": topic.slug, 'jurisdiction': juris.slug})) self.assertEqual(response.status_code, 200)
def test_search_similar(self): factories.delete_index() search_url = '/api/v1/request/search/' response = self.client.get(search_url) self.assertEqual(response.status_code, 200) self.assertContains(response, '"objects":[]') self.assertEqual(response['Content-Type'], 'application/json') req = FoiRequest.objects.all()[0] factories.rebuild_index() response = self.client.get('%s?%s' % ( search_url, urlencode({'q': req.title}) )) self.assertEqual(response.status_code, 200) self.assertContains(response, 'title') self.assertContains(response, 'description')
def test_autocomplete(self): pb = PublicBody.objects.all()[0] factories.rebuild_index() response = self.client.get("%s&query=%s" % ("/api/v1/publicbody/autocomplete/?format=json", pb.name)) self.assertEqual(response.status_code, 200) obj = json.loads(response.content.decode("utf-8")) self.assertIn(pb.name, obj["suggestions"][0]) self.assertIn(pb.name, obj["data"][0]["name"]) response = self.client.get( "%s&query=%s&jurisdiction=non_existant" % ("/api/v1/publicbody/autocomplete/?format=json", pb.name) ) self.assertEqual(response.status_code, 200) obj = json.loads(response.content.decode("utf-8")) self.assertEqual(obj["suggestions"], [])
def test_tagged_requests(self): factories.rebuild_index() tag_slug = 'awesome' req = FoiRequest.published.all()[0] req.tags.add(tag_slug) req.save() response = self.client.get( reverse('foirequest-list', kwargs={"tag": tag_slug})) self.assertEqual(response.status_code, 200) self.assertContains(response, req.title) response = self.client.get( reverse('foirequest-list_feed', kwargs={'tag': tag_slug})) self.assertEqual(response.status_code, 200) response = self.client.get( reverse('foirequest-list_feed_atom', kwargs={'tag': tag_slug})) self.assertEqual(response.status_code, 200)
def test_list_requests(self): factories.rebuild_index() response = self.client.get(reverse('foirequest-list')) self.assertEqual(response.status_code, 200) for urlpart in FOIREQUEST_FILTER_DICT: response = self.client.get(reverse('foirequest-list', kwargs={"status": str(urlpart)})) self.assertEqual(response.status_code, 200) for topic in Category.objects.filter(is_topic=True): response = self.client.get(reverse('foirequest-list', kwargs={"category": topic.slug})) self.assertEqual(response.status_code, 200) response = self.client.get(reverse('foirequest-list') + '?page=99999') self.assertEqual(response.status_code, 404)
def test_search_similar(self): simple_search_url = '/api/v1/request/simplesearch/?format=json' response = self.client.get(simple_search_url) self.assertEqual(response.status_code, 200) self.assertEqual('{"objects": []}', response.content.decode('utf-8')) self.assertEqual(response['Content-Type'], 'application/json') req = FoiRequest.objects.all()[0] factories.rebuild_index() response = self.client.get('%s&%s' % ( simple_search_url, urlencode({'q': req.title}) )) self.assertEqual(response.status_code, 200) content = response.content.decode('utf-8') self.assertIn('title', content) self.assertIn('description', content) self.assertIn('public_body_name', content) self.assertIn('url', content)
def test_tagged_requests(self): tag_slug = 'awesome' req = FoiRequest.published.all()[0] req.tags.add(tag_slug) req.save() factories.rebuild_index() response = self.client.get(reverse('foirequest-list', kwargs={"tag": tag_slug})) self.assertEqual(response.status_code, 200) self.assertContains(response, req.title) response = self.client.get(reverse('foirequest-list_feed', kwargs={ 'tag': tag_slug })) self.assertEqual(response.status_code, 200) response = self.client.get(reverse('foirequest-list_feed_atom', kwargs={ 'tag': tag_slug })) self.assertEqual(response.status_code, 200)
def test_list_no_identical(self): factories.rebuild_index() factories.FoiRequestFactory.create(site=self.site) reqs = FoiRequest.published.all() req1 = reqs[0] req2 = reqs[1] response = self.client.get(reverse('foirequest-list')) self.assertEqual(response.status_code, 200) self.assertContains(response, req1.title) self.assertContains(response, req2.title) req1.same_as = req2 req1.save() req2.same_as_count = 1 req2.save() response = self.client.get(reverse('foirequest-list')) self.assertEqual(response.status_code, 200) self.assertNotContains(response, req1.title) self.assertContains(response, req2.title)
def test_list_no_identical(self): factories.FoiRequestFactory.create(site=self.site) factories.rebuild_index() reqs = FoiRequest.published.all() req1 = reqs[0] req2 = reqs[1] response = self.client.get(reverse('foirequest-list')) self.assertEqual(response.status_code, 200) self.assertContains(response, req1.title) self.assertContains(response, req2.title) with realtime_search(): req1.same_as = req2 req1.save() req2.same_as_count = 1 req2.save() response = self.client.get(reverse('foirequest-list')) self.assertEqual(response.status_code, 200) self.assertNotContains(response, req1.title) self.assertContains(response, req2.title)
def setUp(self): factories.make_world() factories.rebuild_index() self.do_logout() self.user = User.objects.all()[0] self.pb = PublicBody.objects.all()[0]
def setUp(self): factories.make_world() factories.rebuild_index() self.user = User.objects.get(username='******') self.pb = PublicBody.objects.all()[0]