Resolve "UX, UI : Browse Library"
This commit is contained in:
parent
dc5eb1154e
commit
99a37dcb7a
35 changed files with 832 additions and 90 deletions
|
|
@ -4,6 +4,8 @@ import pytest
|
|||
from django.urls import reverse
|
||||
|
||||
from funkwhale_api.favorites.models import TrackFavorite
|
||||
from funkwhale_api.music import serializers as music_serializers
|
||||
from funkwhale_api.users import serializers as users_serializers
|
||||
|
||||
|
||||
def test_user_can_add_favorite(factories):
|
||||
|
|
@ -15,21 +17,25 @@ def test_user_can_add_favorite(factories):
|
|||
assert f.user == user
|
||||
|
||||
|
||||
def test_user_can_get_his_favorites(factories, logged_in_client, client):
|
||||
def test_user_can_get_his_favorites(api_request, factories, logged_in_client, client):
|
||||
r = api_request.get("/")
|
||||
favorite = factories["favorites.TrackFavorite"](user=logged_in_client.user)
|
||||
url = reverse("api:v1:favorites:tracks-list")
|
||||
response = logged_in_client.get(url)
|
||||
|
||||
expected = [
|
||||
{
|
||||
"track": favorite.track.pk,
|
||||
"user": users_serializers.UserBasicSerializer(
|
||||
favorite.user, context={"request": r}
|
||||
).data,
|
||||
"track": music_serializers.TrackSerializer(
|
||||
favorite.track, context={"request": r}
|
||||
).data,
|
||||
"id": favorite.id,
|
||||
"creation_date": favorite.creation_date.isoformat().replace("+00:00", "Z"),
|
||||
}
|
||||
]
|
||||
parsed_json = json.loads(response.content.decode("utf-8"))
|
||||
|
||||
assert expected == parsed_json["results"]
|
||||
assert response.status_code == 200
|
||||
assert response.data["results"] == expected
|
||||
|
||||
|
||||
def test_user_can_add_favorite_via_api(factories, logged_in_client, activity_muted):
|
||||
|
|
|
|||
13
api/tests/favorites/test_views.py
Normal file
13
api/tests/favorites/test_views.py
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
import pytest
|
||||
|
||||
from django.urls import reverse
|
||||
|
||||
|
||||
@pytest.mark.parametrize("level", ["instance", "me", "followers"])
|
||||
def test_privacy_filter(preferences, level, factories, api_client):
|
||||
preferences["common__api_authentication_required"] = False
|
||||
factories["favorites.TrackFavorite"](user__privacy_level=level)
|
||||
url = reverse("api:v1:favorites:tracks-list")
|
||||
response = api_client.get(url)
|
||||
assert response.status_code == 200
|
||||
assert response.data["count"] == 0
|
||||
Loading…
Add table
Add a link
Reference in a new issue