def test_paginator__get_page_info(kw, total, previous, next, start, end): paginator = Paginator(**kw) page_info = paginator.get_page_info(total) assert page_info.has_previous_page is previous assert page_info.has_next_page is next assert page_info.start_cursor == start if start is None else encode_cursor( start) assert page_info.end_cursor == end if end is None else encode_cursor(end)
def test_paginator__last_without_before(): with pytest.raises(MissingBeforeValueError): Paginator(last=1)
def test_paginator__input_combinations(kw, slice_from, slice_to): paginator = Paginator(**kw) assert paginator.slice_from == slice_from assert paginator.slice_to == slice_to
def test_paginator__custom_per_page(): paginator = Paginator(per_page=5) assert paginator.per_page == 5 assert paginator.slice_from == 0 assert paginator.slice_to == 5
def test_paginator__defaults(): paginator = Paginator() assert paginator.slice_from == 0 assert paginator.slice_to == DEFAULT_PAGE_LENGHT
def test_paginator__get_edge_cursor(kw, num, cursor): paginator = Paginator(**kw) assert paginator.get_edge_cursor(num) == cursor