See #432: can now start a radio from a tag

This commit is contained in:
Eliot Berriot 2019-07-18 15:13:09 +02:00
parent 3ce2f0d774
commit 918e7beb7e
No known key found for this signature in database
GPG key ID: DD6965E2476E5C27
6 changed files with 95 additions and 8 deletions

View file

@ -0,0 +1,44 @@
from funkwhale_api.radios import serializers
def test_create_tag_radio(factories):
tag = factories["tags.Tag"]()
data = {"radio_type": "tag", "related_object_id": tag.name}
serializer = serializers.RadioSessionSerializer(data=data)
assert serializer.is_valid(raise_exception=True) is True
session = serializer.save()
assert session.related_object_id == tag.pk
assert session.related_object == tag
def test_create_artist_radio(factories):
artist = factories["music.Artist"]()
data = {"radio_type": "artist", "related_object_id": artist.pk}
serializer = serializers.RadioSessionSerializer(data=data)
assert serializer.is_valid(raise_exception=True) is True
session = serializer.save()
assert session.related_object_id == artist.pk
assert session.related_object == artist
def test_tag_radio_repr(factories):
tag = factories["tags.Tag"]()
session = factories["radios.RadioSession"](related_object=tag, radio_type="tag")
expected = {
"id": session.pk,
"radio_type": "tag",
"custom_radio": None,
"user": session.user.pk,
"related_object_id": tag.name,
"creation_date": session.creation_date.isoformat().split("+")[0] + "Z",
}
assert serializers.RadioSessionSerializer(session).data == expected