def test_issuer_correct_keys(self, render): """ Verify that the fields in the context are those expected by the template. """ issuer = models.Issuer(name="name", slug="slug") issuer.save() self.client.get( reverse("issuer_search", kwargs={"issuer_slug": issuer.slug})) context = render.call_args[0][2] self.assertTrue("page" in context) self.assertTrue(isinstance(context["page"], Page)) self.assertTrue("issuer" in context) self.assertEqual(issuer, context["issuer"])
def test_issuer_correct_keys(self, render): """ Verify that the fields in the context are those expected by the template. """ issuer = models.Issuer(name='name', slug='slug') issuer.save() self.client.get( reverse('issuer_search', kwargs={'issuer_slug': issuer.slug})) context = render.call_args[0][2] self.assertTrue('page' in context) self.assertTrue(isinstance(context['page'], Page)) self.assertTrue('issuer' in context) self.assertEqual(issuer, context['issuer'])
def test_issuer_paging_frontend(self): """ Verify that the pager has links in HTML. """ issuer = models.Issuer(name='name', slug='slug') issuer.save() for _ in range(45): agreement_factory(issuer=issuer) path = reverse('issuer_search', kwargs={'issuer_slug': issuer.slug}) resp = self.client.get(path) self.assertTrue('page=2' in resp.content) self.assertFalse('page=1' in resp.content) resp = self.client.get(path + '?page=2') self.assertTrue('page=1' in resp.content) self.assertFalse('page=2' in resp.content) self.assertFalse('page=3' in resp.content)
def test_issuer_paging_frontend(self): """ Verify that the pager has links in HTML. """ issuer = models.Issuer(name="name", slug="slug") issuer.save() for _ in range(45): agreement_factory(issuer=issuer) path = reverse("issuer_search", kwargs={"issuer_slug": issuer.slug}) resp = self.client.get(path) self.assertContains(resp, "page=2") self.assertNotContains(resp, "page=1") self.assertFalse(b"page=1" in resp.content) resp = self.client.get(path + "?page=2") self.assertContains(resp, 'href="?page=1') self.assertNotContains(resp, 'href="?page=2') self.assertNotContains(resp, 'href="?page=3')
def test_issuer_paging_non_int(self, render): """ Verify that the pager is working when page number is not an int. """ issuer = models.Issuer(name='') issuer.save() for _ in range(45): agreement_factory(issuer=issuer) path = reverse('issuer_search', kwargs={'issuer_slug': issuer.slug}) self.client.get(path + '?page=1') object_ids1 = list( map(lambda o: o.id, render.call_args[0][2]['page'].object_list)) self.client.get(path + '?page=abcd') object_idsabcd = list( map(lambda o: o.id, render.call_args[0][2]['page'].object_list)) self.assertEqual(40, len(object_ids1)) self.assertEqual(40, len(object_idsabcd)) self.assertEqual(object_ids1, object_idsabcd)
def test_issuer_paging_backend(self, render): """ Verify that the pager is working. """ issuer = models.Issuer(name='name', slug='slug') issuer.save() for _ in range(45): agreement_factory(issuer=issuer) path = reverse('issuer_search', kwargs={'issuer_slug': issuer.slug}) self.client.get(path) context = render.call_args[0][2] self.assertTrue('page' in context) self.assertEqual(40, len(context['page'].object_list)) self.client.get(path + '?page=2') context = render.call_args[0][2] self.assertTrue('page' in context) self.assertEqual(5, len(context['page'].object_list))
def test_issuer_paging_too_high(self, render): """ Verify that the pager is working when page number is too high. """ issuer = models.Issuer(name='name', slug='slug') issuer.save() for _ in range(45): agreement_factory(issuer=issuer) path = reverse('issuer_search', kwargs={'issuer_slug': issuer.slug}) self.client.get(path + '?page=2') object_ids2 = list( map(lambda o: o.id, render.call_args[0][2]['page'].object_list)) self.client.get(path + '?page=5555') object_ids5555 = list( map(lambda o: o.id, render.call_args[0][2]['page'].object_list)) self.assertEqual(5, len(object_ids2)) self.assertEqual(5, len(object_ids5555)) self.assertEqual(object_ids2, object_ids5555)
def test_issuer_paging_backend(self, render): """ Verify that the pager is working. """ issuer = models.Issuer(name="name", slug="slug") issuer.save() for _ in range(45): agreement_factory(issuer=issuer) path = reverse("issuer_search", kwargs={"issuer_slug": issuer.slug}) self.client.get(path) context = render.call_args[0][2] self.assertTrue("page" in context) self.assertEqual(40, len(context["page"].object_list)) self.client.get(path + "?page=2") context = render.call_args[0][2] self.assertTrue("page" in context) self.assertEqual(5, len(context["page"].object_list))
def agreement_factory(**kwargs): """ Create an agreement with some defaults. """ if 'issuer' not in kwargs: kwargs['issuer'] = models.Issuer(name='') kwargs['issuer'].save() args = { 'file_name': '', 'size': 0, 'uri': 'https://example.com', 'description': '', } for key in kwargs: args[key] = kwargs[key] agreement = models.Agreement(**args) agreement.save() return agreement
def agreement_factory(**kwargs): """ Create an agreement with some defaults. """ if "issuer" not in kwargs: kwargs["issuer"] = models.Issuer(name="") kwargs["issuer"].save() args = { "file_name": "", "size": 0, "uri": "https://example.com", "description": "", } for key in kwargs: args[key] = kwargs[key] agreement = models.Agreement(**args) agreement.save() return agreement