Resolve "UX, UI : Browse Library"

This commit is contained in:
Eliot Berriot 2018-07-17 11:09:13 +00:00
commit 99a37dcb7a
35 changed files with 832 additions and 90 deletions

View file

@ -63,3 +63,40 @@ def test_update_insert_is_called_when_index_is_provided(factories, mocker):
insert.assert_called_once_with(playlist, plt, 0)
assert plt.index == 0
assert first.index == 1
def test_playlist_serializer_include_covers(factories, api_request):
playlist = factories["playlists.Playlist"]()
t1 = factories["music.Track"]()
t2 = factories["music.Track"]()
t3 = factories["music.Track"](album__cover=None)
t4 = factories["music.Track"]()
t5 = factories["music.Track"]()
t6 = factories["music.Track"]()
t7 = factories["music.Track"]()
playlist.insert_many([t1, t2, t3, t4, t5, t6, t7])
request = api_request.get("/")
qs = playlist.__class__.objects.with_covers().with_tracks_count()
expected = [
request.build_absolute_uri(t1.album.cover.url),
request.build_absolute_uri(t2.album.cover.url),
request.build_absolute_uri(t4.album.cover.url),
request.build_absolute_uri(t5.album.cover.url),
request.build_absolute_uri(t6.album.cover.url),
]
serializer = serializers.PlaylistSerializer(qs.get(), context={"request": request})
assert serializer.data["album_covers"] == expected
def test_playlist_serializer_include_duration(factories, api_request):
playlist = factories["playlists.Playlist"]()
tf1 = factories["music.TrackFile"](duration=15)
tf2 = factories["music.TrackFile"](duration=30)
playlist.insert_many([tf1.track, tf2.track])
qs = playlist.__class__.objects.with_duration().with_tracks_count()
serializer = serializers.PlaylistSerializer(qs.get())
assert serializer.data["duration"] == 45