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

@ -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):

View 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