Fix #1151: Updated the /api/v1/libraries endpoint to support listing public libraries of a pod

This commit is contained in:
Agate 2020-06-05 11:21:10 +02:00
commit aa8b1b5f83
No known key found for this signature in database
GPG key ID: 6B501DFD73514E14
6 changed files with 45 additions and 4 deletions

View file

@ -631,10 +631,10 @@ def test_user_can_create_library(factories, logged_in_api_client):
def test_user_can_list_their_library(factories, logged_in_api_client):
actor = logged_in_api_client.user.create_actor()
library = factories["music.Library"](actor=actor)
factories["music.Library"]()
factories["music.Library"](privacy_level="everyone")
url = reverse("api:v1:libraries-list")
response = logged_in_api_client.get(url)
response = logged_in_api_client.get(url, {"scope": "me"})
assert response.status_code == 200
assert response.data["count"] == 1
@ -651,6 +651,19 @@ def test_user_can_retrieve_another_user_library(factories, logged_in_api_client)
assert response.data["uuid"] == str(library.uuid)
def test_user_can_list_public_libraries(factories, api_client, preferences):
preferences["common__api_authentication_required"] = False
library = factories["music.Library"](privacy_level="everyone")
factories["music.Library"](privacy_level="me")
url = reverse("api:v1:libraries-list")
response = api_client.get(url)
assert response.status_code == 200
assert response.data["count"] == 1
assert response.data["results"][0]["uuid"] == str(library.uuid)
def test_library_list_excludes_channel_library(factories, logged_in_api_client):
actor = logged_in_api_client.user.create_actor()
factories["audio.Channel"](attributed_to=actor)