Ejemplo n.º 1
0
    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"])
Ejemplo n.º 2
0
    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'])
Ejemplo n.º 3
0
    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)
Ejemplo n.º 4
0
    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')
Ejemplo n.º 5
0
    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)
Ejemplo n.º 6
0
    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))
Ejemplo n.º 7
0
    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)
Ejemplo n.º 8
0
    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))
Ejemplo n.º 9
0
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
Ejemplo n.º 10
0
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