Fx #986: Fixed invalid displayed number of tracks in playlist
This commit is contained in:
parent
8cf003ab1c
commit
c8702ca726
|
@ -24,7 +24,7 @@ class PlaylistViewSet(
|
||||||
queryset = (
|
queryset = (
|
||||||
models.Playlist.objects.all()
|
models.Playlist.objects.all()
|
||||||
.select_related("user__actor")
|
.select_related("user__actor")
|
||||||
.annotate(tracks_count=Count("playlist_tracks"))
|
.annotate(tracks_count=Count("playlist_tracks", distinct=True))
|
||||||
.with_covers()
|
.with_covers()
|
||||||
.with_duration()
|
.with_duration()
|
||||||
)
|
)
|
||||||
|
|
|
@ -25,6 +25,18 @@ def test_serializer_includes_tracks_count(factories, logged_in_api_client):
|
||||||
assert response.data["tracks_count"] == 1
|
assert response.data["tracks_count"] == 1
|
||||||
|
|
||||||
|
|
||||||
|
def test_serializer_includes_tracks_count_986(factories, logged_in_api_client):
|
||||||
|
playlist = factories["playlists.Playlist"]()
|
||||||
|
plt = factories["playlists.PlaylistTrack"](playlist=playlist)
|
||||||
|
factories["music.Upload"].create_batch(
|
||||||
|
3, track=plt.track, library__privacy_level="everyone", import_status="finished"
|
||||||
|
)
|
||||||
|
url = reverse("api:v1:playlists-detail", kwargs={"pk": playlist.pk})
|
||||||
|
response = logged_in_api_client.get(url)
|
||||||
|
|
||||||
|
assert response.data["tracks_count"] == 1
|
||||||
|
|
||||||
|
|
||||||
def test_serializer_includes_is_playable(factories, logged_in_api_client):
|
def test_serializer_includes_is_playable(factories, logged_in_api_client):
|
||||||
playlist = factories["playlists.Playlist"]()
|
playlist = factories["playlists.Playlist"]()
|
||||||
factories["playlists.PlaylistTrack"](playlist=playlist)
|
factories["playlists.PlaylistTrack"](playlist=playlist)
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
Fixed invalid displayed number of tracks in playlist (#986)
|
Loading…
Reference in New Issue