Merge branch '912-less-listened' into 'develop'

Resolve "Broken 'Less listened' Radio in develop version"

Closes #912

See merge request funkwhale/funkwhale!889
This commit is contained in:
Eliot Berriot 2019-09-15 20:22:10 +02:00
commit cdbd5fbd78
3 changed files with 17 additions and 4 deletions

View File

@ -8,7 +8,6 @@ from rest_framework import serializers
from funkwhale_api.moderation import filters as moderation_filters
from funkwhale_api.music.models import Artist, Track
from funkwhale_api.tags.models import Tag
from funkwhale_api.users.models import User
from . import filters, models
from .registries import registry
@ -263,9 +262,7 @@ class ArtistRadio(RelatedObjectRadio):
@registry.register(name="less-listened")
class LessListenedRadio(RelatedObjectRadio):
model = User
class LessListenedRadio(SessionRadio):
def clean(self, instance):
instance.related_object = instance.user
super().clean(instance)

View File

@ -1,3 +1,5 @@
import pytest
from django.urls import reverse
from funkwhale_api.music.serializers import TrackSerializer
@ -129,3 +131,16 @@ def test_clean_config_is_called_on_serializer_save(mocker, factories):
instance = serializer.save(user=user)
spied.assert_called_once_with(data["config"][0])
assert instance.config[0]["names"] == [artist.name]
@pytest.mark.parametrize("radio_type", ["random", "less-listened", "favorites"])
def test_create_radio_session(radio_type, logged_in_api_client):
url = reverse("api:v1:radios:sessions-list")
response = logged_in_api_client.post(url, {"radio_type": radio_type})
assert response.status_code == 201
assert response.data["radio_type"] == radio_type
assert (
response.data["id"] == logged_in_api_client.user.radio_sessions.latest("id").pk
)

View File

@ -0,0 +1 @@
Fixed broken less listened radio (#912)