Merge pull request #249 from cppalliance/issue-227

Remove pagination from library list and library by version list
This commit is contained in:
Lacey Williams Henschel
2023-05-03 08:38:45 -07:00
committed by GitHub
3 changed files with 45 additions and 2 deletions

View File

@@ -19,6 +19,27 @@ def test_library_list(library_version, tp):
assert lib2 not in res.context["library_list"]
def test_library_list_no_pagination(library_version, tp):
"""Library list is not paginated."""
libs = [
baker.make(
"libraries.LibraryVersion",
library=baker.make("libraries.Library", name=f"lib-{i}"),
version=library_version.version,
).library
for i in range(30)
] + [library_version.library]
res = tp.get("libraries")
tp.response_200(res)
library_list = res.context.get("library_list")
assert library_list is not None
assert len(library_list) == len(libs)
assert all(l in library_list for l in libs)
page_obj = res.context.get("page_obj")
assert getattr(page_obj, "paginator", None) is None
def test_library_list_select_category(library, category, tp):
"""POST /libraries/ to submit a category redirects to the libraries-by-category page"""
res = tp.post("libraries", data={"categories": category.pk})
@@ -184,6 +205,27 @@ def test_libraries_by_version_list(tp, library_version):
assert excluded_library not in res.context["library_list"]
def test_libraries_by_version_list_no_pagination(tp, library_version):
"""Library list by version is not paginated."""
libs = [
baker.make(
"libraries.LibraryVersion",
library=baker.make("libraries.Library", name=f"lib-{i}"),
version=library_version.version,
).library
for i in range(30)
] + [library_version.library]
res = tp.get("libraries-by-version", library_version.version.slug)
tp.response_200(res)
library_list = res.context.get("library_list")
assert library_list is not None
assert len(library_list) == len(libs)
assert all(l in library_list for l in libs)
page_obj = res.context.get("page_obj")
assert getattr(page_obj, "paginator", None) is None
def test_libraries_by_version_detail(tp, library_version):
"""GET /versions/{version_slug}/libraries/{slug}/"""
res = tp.get(

View File

@@ -24,7 +24,6 @@ class LibraryList(CategoryMixin, FormMixin, ListView):
form_action = "/libraries/"
form_class = LibraryForm
paginate_by = 25
queryset = (
Library.objects.prefetch_related("authors", "categories").all().order_by("name")
)
@@ -136,7 +135,6 @@ class LibraryListByVersion(CategoryMixin, FormMixin, ListView):
"""List all of our libraries for a specific Boost version by name"""
form_class = LibraryForm
paginate_by = 25
queryset = (
Library.objects.prefetch_related("authors", "categories").all().order_by("name")
)

View File

@@ -65,6 +65,7 @@
</div>
<!-- end libraries list -->
{% if page_obj.paginator %}
<!-- Pagination -->
<div class="space-x-3 text-center">
{% if page_obj.has_previous %}
@@ -77,4 +78,6 @@
{% endif %}
</div>
<!-- end pagination -->
{% endif %}
{% endblock %}