See #223: api for listing/managing library files

This commit is contained in:
Eliot Berriot 2018-05-29 00:07:20 +02:00
commit c7782693bc
No known key found for this signature in database
GPG key ID: DD6965E2476E5C27
10 changed files with 213 additions and 0 deletions

View file

View file

@ -0,0 +1,10 @@
from funkwhale_api.manage import serializers
def test_manage_track_file_action_delete(factories):
tfs = factories['music.TrackFile'](size=5)
s = serializers.ManageTrackFileActionSerializer(queryset=None)
s.handle_delete(tfs.__class__.objects.all())
assert tfs.__class__.objects.count() == 0

View file

@ -0,0 +1,25 @@
import pytest
from django.urls import reverse
from funkwhale_api.manage import serializers
from funkwhale_api.manage import views
@pytest.mark.parametrize('view,permissions,operator', [
(views.ManageTrackFileViewSet, ['library'], 'and'),
])
def test_permissions(assert_user_permission, view, permissions, operator):
assert_user_permission(view, permissions, operator)
def test_track_file_view(factories, superuser_api_client):
tfs = factories['music.TrackFile'].create_batch(size=5)
qs = tfs[0].__class__.objects.order_by('-creation_date')
url = reverse('api:v1:manage:library:track-files-list')
response = superuser_api_client.get(url, {'sort': '-creation_date'})
expected = serializers.ManageTrackFileSerializer(qs, many=True).data
assert response.data['count'] == len(tfs)
assert response.data['results'] == expected