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
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
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
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