API Views/serializers/tests for activity (#141)
This commit is contained in:
parent
1f2e14b20e
commit
18d8baae34
7 changed files with 156 additions and 0 deletions
17
api/tests/activity/test_serializers.py
Normal file
17
api/tests/activity/test_serializers.py
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
from funkwhale_api.activity import serializers
|
||||
from funkwhale_api.favorites.serializers import TrackFavoriteActivitySerializer
|
||||
from funkwhale_api.history.serializers import \
|
||||
ListeningActivitySerializer
|
||||
|
||||
|
||||
def test_autoserializer(factories):
|
||||
favorite = factories['favorites.TrackFavorite']()
|
||||
listening = factories['history.Listening']()
|
||||
objects = [favorite, listening]
|
||||
serializer = serializers.AutoSerializer(objects, many=True)
|
||||
expected = [
|
||||
TrackFavoriteActivitySerializer(favorite).data,
|
||||
ListeningActivitySerializer(listening).data,
|
||||
]
|
||||
|
||||
assert serializer.data == expected
|
||||
21
api/tests/activity/test_utils.py
Normal file
21
api/tests/activity/test_utils.py
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
from funkwhale_api.activity import utils
|
||||
|
||||
|
||||
def test_get_activity(factories):
|
||||
user = factories['users.User']()
|
||||
listening = factories['history.Listening']()
|
||||
favorite = factories['favorites.TrackFavorite']()
|
||||
|
||||
objects = list(utils.get_activity(user))
|
||||
assert objects == [favorite, listening]
|
||||
|
||||
|
||||
def test_get_activity_honors_privacy_level(factories, anonymous_user):
|
||||
listening = factories['history.Listening'](user__privacy_level='me')
|
||||
favorite1 = factories['favorites.TrackFavorite'](
|
||||
user__privacy_level='everyone')
|
||||
favorite2 = factories['favorites.TrackFavorite'](
|
||||
user__privacy_level='instance')
|
||||
|
||||
objects = list(utils.get_activity(anonymous_user))
|
||||
assert objects == [favorite1]
|
||||
18
api/tests/activity/test_views.py
Normal file
18
api/tests/activity/test_views.py
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
from django.urls import reverse
|
||||
|
||||
from funkwhale_api.activity import serializers
|
||||
from funkwhale_api.activity import utils
|
||||
|
||||
|
||||
def test_activity_view(factories, api_client, settings, anonymous_user):
|
||||
settings.API_AUTHENTICATION_REQUIRED = False
|
||||
favorite = factories['favorites.TrackFavorite'](
|
||||
user__privacy_level='everyone')
|
||||
listening = factories['history.Listening']()
|
||||
url = reverse('api:v1:activity-list')
|
||||
objects = utils.get_activity(anonymous_user)
|
||||
serializer = serializers.AutoSerializer(objects, many=True)
|
||||
response = api_client.get(url)
|
||||
|
||||
assert response.status_code == 200
|
||||
assert response.data['results'] == serializer.data
|
||||
Loading…
Add table
Add a link
Reference in a new issue