Ejemplo n.º 1
0
    def test_pagination(self):
        """Test Class Pagination works."""
        page = 1
        per_page = 5
        total_count = 10
        p = util.Pagination(page, per_page, total_count)
        assert p.page == page, p.page
        assert p.per_page == per_page, p.per_page
        assert p.total_count == total_count, p.total_count

        err_msg = "It should return two pages"
        assert p.pages == 2, err_msg
        p.total_count = 7
        assert p.pages == 2, err_msg
        p.total_count = 10

        err_msg = "It should return False"
        assert p.has_prev is False, err_msg
        err_msg = "It should return True"
        assert p.has_next is True, err_msg
        p.page = 2
        assert p.has_prev is True, err_msg
        err_msg = "It should return False"
        assert p.has_next is False, err_msg

        for i in p.iter_pages():
            err_msg = "It should return the page: %s" % page
            assert i == page, err_msg
            page += 1
Ejemplo n.º 2
0
 def test_handle_content_type_json_pagination(self, mocklast, mockjsonify,
                                              mockrender, mockrequest):
     mockrequest.headers.__getitem__.return_value = 'application/json'
     mockjsonify.side_effect = myjsonify
     pagination = util.Pagination(page=1, per_page=5, total_count=10)
     res = util.handle_content_type(
         dict(template='example.html', pagination=pagination))
     err_msg = "template key should exist"
     assert res.get('template') == 'example.html', err_msg
     err_msg = "jsonify should be called"
     assert mockjsonify.called, err_msg
     err_msg = "Pagination should exist"
     assert res.get('pagination') is not None, err_msg
     assert res.get('pagination') == pagination.to_json(), err_msg
Ejemplo n.º 3
0
 def test_handle_content_type_html(self, mockjsonify, mockrender,
                                   mockrequest):
     mockrequest.headers.__getitem__.return_value = 'text/html'
     mockjsonify.side_effect = myjsonify
     mockrender.side_effect = myrender
     pagination = util.Pagination(page=1, per_page=5, total_count=10)
     template, data = util.handle_content_type(
         dict(template='example.html', pagination=pagination))
     err_msg = "Template should be rendered"
     assert template == 'example.html', err_msg
     err_msg = "Template key should not exist"
     assert data.get('template') is None, err_msg
     err_msg = "jsonify should not be called"
     assert mockjsonify.called is False, err_msg
     err_msg = "render_template should be called"
     assert mockrender.called is True, err_msg
Ejemplo n.º 4
0
    def test_pagination(self):
        """Test Class Pagination works."""
        page = 1
        per_page = 5
        total_count = 10
        p = util.Pagination(page, per_page, total_count)
        assert p.page == page, p.page
        assert p.per_page == per_page, p.per_page
        assert p.total_count == total_count, p.total_count

        err_msg = "It should return two pages"
        assert p.pages == 2, err_msg
        p.total_count = 7
        assert p.pages == 2, err_msg
        p.page = 1
        assert p.curr_page_count == 5, "rows on curr page to be 5"
        p.page = 2
        assert p.curr_page_count == 2, "rows on curr page to be 2"
        p.page = 1000
        assert p.curr_page_count == 0, "rows on curr page to be 0"

        p.total_count = 10
        p.page = 2
        assert p.curr_page_count == 5, "rows on curr page to be 5"

        p.page = 1
        err_msg = "It should return False"
        assert p.has_prev is False, err_msg
        err_msg = "It should return True"
        assert p.has_next is True, err_msg
        p.page = 2
        assert p.has_prev is True, err_msg
        err_msg = "It should return False"
        assert p.has_next is False, err_msg

        for i in p.iter_pages():
            err_msg = "It should return the page: %s" % page
            assert i == page, err_msg
            page += 1

        err_msg = "It should return JSON"
        expected = dict(page=page - 1,
                        per_page=per_page,
                        total=total_count,
                        next=False,
                        prev=True)
        assert expected == p.to_json(), err_msg