diff --git a/api/funkwhale_api/radios/views.py b/api/funkwhale_api/radios/views.py index e89513472..b442b1a97 100644 --- a/api/funkwhale_api/radios/views.py +++ b/api/funkwhale_api/radios/views.py @@ -176,7 +176,12 @@ class V2_RadioSessionViewSet( @action(detail=True, serializer_class=serializers.RadioSessionTrackSerializerCreate) def tracks(self, request, pk, *args, **kwargs): - data = request.query_params + data = {"session": pk} + data["count"] = ( + request.query_params["count"] + if "count" in request.query_params.keys() + else 1 + ) serializer = serializers.RadioSessionTrackSerializerCreate(data=data) serializer.is_valid(raise_exception=True) session = serializer.validated_data["session"] diff --git a/api/tests/radios/test_radios.py b/api/tests/radios/test_radios.py index 59e91f883..cd906d630 100644 --- a/api/tests/radios/test_radios.py +++ b/api/tests/radios/test_radios.py @@ -557,12 +557,8 @@ def test_regenerate_cache_if_not_enought_tracks_in_it( response = logged_in_api_client.post(url, {"radio_type": "random"}) session = models.RadioSession.objects.latest("id") url = reverse("api:v2:radios:sessions-tracks", kwargs={"pk": session.pk}) - logged_in_api_client.get( - url, {"session": session.pk, "count": 9, "filter_playable": False} - ) - response = logged_in_api_client.get( - url, {"session": session.pk, "count": 10, "filter_playable": False} - ) + logged_in_api_client.get(url, {"count": 9, "filter_playable": False}) + response = logged_in_api_client.get(url, {"count": 10, "filter_playable": False}) pick = json.loads(response.content.decode("utf-8")) assert ( "Not enough radio tracks in cache. Trying to generate new cache" in caplog.text