46 lines
1.3 KiB
Python
46 lines
1.3 KiB
Python
import pytest
|
|
|
|
from funkwhale_api.music import views
|
|
|
|
|
|
@pytest.mark.parametrize('param,expected', [
|
|
('true', 'full'),
|
|
('false', 'empty'),
|
|
])
|
|
def test_artist_view_filter_listenable(
|
|
param, expected, factories, api_request):
|
|
artists = {
|
|
'empty': factories['music.Artist'](),
|
|
'full': factories['music.TrackFile']().track.artist,
|
|
}
|
|
|
|
request = api_request.get('/', {'listenable': param})
|
|
view = views.ArtistViewSet()
|
|
view.action_map = {'get': 'list'}
|
|
expected = [artists[expected]]
|
|
view.request = view.initialize_request(request)
|
|
queryset = view.filter_queryset(view.get_queryset())
|
|
|
|
assert list(queryset) == expected
|
|
|
|
|
|
@pytest.mark.parametrize('param,expected', [
|
|
('true', 'full'),
|
|
('false', 'empty'),
|
|
])
|
|
def test_album_view_filter_listenable(
|
|
param, expected, factories, api_request):
|
|
artists = {
|
|
'empty': factories['music.Album'](),
|
|
'full': factories['music.TrackFile']().track.album,
|
|
}
|
|
|
|
request = api_request.get('/', {'listenable': param})
|
|
view = views.AlbumViewSet()
|
|
view.action_map = {'get': 'list'}
|
|
expected = [artists[expected]]
|
|
view.request = view.initialize_request(request)
|
|
queryset = view.filter_queryset(view.get_queryset())
|
|
|
|
assert list(queryset) == expected
|