def test_zero_buildsets_should_return_empty_paginator(self): paginator = pagination(number_of_buildsets=0, page=1, per_page=10, page_links=5) expected = Paginator(pages=[], previous_page=None, next_page=None, current_page=1) self.assertEqual(paginator, expected)
def test_current_page_last_should_return_no_next_page(self): paginator = pagination(number_of_buildsets=100, page=5, per_page=20, page_links=4) expected = Paginator(pages=[1, 2, 3, 4, 5], previous_page=4, next_page=None, current_page=5) self.assertEqual(paginator, expected)
def test_201_buildsets_20_per_page_should_return_11_pages(self): paginator = pagination(number_of_buildsets=201, page=1, per_page=20, page_links=20) expected = Paginator(pages=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], previous_page=None, next_page=2, current_page=1) self.assertEqual(paginator, expected)
def test_3_pages_links_on_page_5_should_return_3_prev_and_next_pages(self): paginator = pagination(number_of_buildsets=400, page=5, per_page=20, page_links=3) expected = Paginator(pages=[1, None, 2, 3, 4, 5, 6, 7, 8, None, 20], previous_page=4, next_page=6, current_page=5) self.assertEqual(paginator, expected)
def test_current_page_5_of_10_should_return_previus_and_next_page(self): paginator = pagination(number_of_buildsets=100, page=5, per_page=10, page_links=5) expected = Paginator(pages=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10], previous_page=4, next_page=6, current_page=5) self.assertEqual(paginator, expected)
def test_45_buildsets_10_per_page_should_return_5_pages(self): paginator = pagination(number_of_buildsets=45, page=1, per_page=10, page_links=10) expected = Paginator(pages=[1, 2, 3, 4, 5], previous_page=None, next_page=2, current_page=1) self.assertEqual(paginator, expected)
def test_5_page_links_on_page_10_should_return_5_prev_and_next_pages(self): paginator = pagination(number_of_buildsets=400, page=10, per_page=20, page_links=5) expected = Paginator( pages=[1, None, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, None, 20], previous_page=9, next_page=11, current_page=10) self.assertEqual(paginator, expected)
def show_builds_history(page=1): per_page = config['buildset']['per_page'] pipeline = config['default']['pipename'] page_links = config['buildset']['page_links'] buildset_log_url = config['buildset']['log_url'] db.connect() buildsets = BuildSetsHistory(pipeline, per_page) buildsets.fetch_page(page) paginator = pagination(len(buildsets), page, per_page, page_links) return render_template('builds_history.html', buildsets=buildsets, paginator=paginator, buildsets_log_url=buildset_log_url)
def show_builds_history(page=1): per_page = config['buildset']['per_page'] pipeline = config['default']['pipename'] page_links = config['buildset']['page_links'] buildset_log_url = config['buildset']['log_url'] db.connect() branch = request.args.get('branch') build = request.args.get('build') if branch or build: buildsets = BuildSetsFiltered(pipeline, per_page, branch, build) else: buildsets = BuildSetsPaginated(pipeline, per_page) buildsets.fetch_page(page) paginator = pagination(len(buildsets), page, per_page, page_links) return render_template('builds_history.html', buildsets=buildsets, paginator=paginator, buildsets_log_url=buildset_log_url)
def test_negative_buildsets_should_raise_value_error(self): with self.assertRaises(ValueError): pagination(number_of_buildsets=-1, page=1, per_page=10, page_links=5)
def test_page_links_is_none_should_raise_type_error(self): with self.assertRaises(TypeError): pagination(number_of_buildsets=200, page=1, per_page=10, page_links=None)
def test_per_page_is_zero_should_raise_value_error(self): with self.assertRaises(ValueError): pagination(number_of_buildsets=200, page=1, per_page=0, page_links=5)