diff --git a/api/funkwhale_api/tags/views.py b/api/funkwhale_api/tags/views.py index d7b1d8aa5..1d052ca7b 100644 --- a/api/funkwhale_api/tags/views.py +++ b/api/funkwhale_api/tags/views.py @@ -1,6 +1,8 @@ from django.db.models import functions from rest_framework import viewsets +import django_filters.rest_framework + from funkwhale_api.users.oauth import permissions as oauth_permissions from . import filters @@ -20,3 +22,4 @@ class TagViewSet(viewsets.ReadOnlyModelViewSet): required_scope = "libraries" anonymous_policy = "setting" filterset_class = filters.TagFilter + filter_backends = [django_filters.rest_framework.DjangoFilterBackend] diff --git a/api/tests/tags/test_views.py b/api/tests/tags/test_views.py index fd3246adb..b42e9ab37 100644 --- a/api/tests/tags/test_views.py +++ b/api/tests/tags/test_views.py @@ -23,18 +23,21 @@ def test_tags_list_ordering_length(factories, logged_in_api_client): url = reverse("api:v1:tags-list") tags = [ factories["tags.Tag"](name="iamareallylongtag"), - factories["tags.Tag"](name="reallylongtag"), factories["tags.Tag"](name="short"), + factories["tags.Tag"](name="reallylongtag"), factories["tags.Tag"](name="bar"), ] expected = { "count": 4, "next": None, "previous": None, - "results": [serializers.TagSerializer(tag).data for tag in tags], + "results": [ + serializers.TagSerializer(tag).data + for tag in [tags[3], tags[1], tags[2], tags[0]] + ], } - response = logged_in_api_client.get(url, {"ordering": "-length"}) + response = logged_in_api_client.get(url, {"ordering": "length"}) assert response.data == expected