mirror of
https://code.eliotberriot.com/funkwhale/funkwhale.git
synced 2025-10-06 01:49:56 +02:00
refactored tests, no have __init__ everywhere
This commit is contained in:
parent
6fbc372f51
commit
d310628cb5
20 changed files with 751 additions and 687 deletions
|
@ -2,14 +2,11 @@ import pytest
|
|||
from funkwhale_api.music import models
|
||||
import datetime
|
||||
|
||||
from . import data as api_data
|
||||
from .cover import binary_data
|
||||
|
||||
|
||||
def test_can_create_artist_from_api(mocker, db):
|
||||
def test_can_create_artist_from_api(artists, mocker, db):
|
||||
mocker.patch(
|
||||
'musicbrainzngs.search_artists',
|
||||
return_value=api_data.artists['search']['adhesive_wombat'])
|
||||
return_value=artists['search']['adhesive_wombat'])
|
||||
artist = models.Artist.create_from_api(query="Adhesive wombat")
|
||||
data = models.Artist.api.search(query='Adhesive wombat')['artist-list'][0]
|
||||
|
||||
|
@ -19,13 +16,13 @@ def test_can_create_artist_from_api(mocker, db):
|
|||
assert artist.name, 'Adhesive Wombat'
|
||||
|
||||
|
||||
def test_can_create_album_from_api(mocker, db):
|
||||
def test_can_create_album_from_api(artists, albums, mocker, db):
|
||||
mocker.patch(
|
||||
'funkwhale_api.musicbrainz.api.releases.search',
|
||||
return_value=api_data.albums['search']['hypnotize'])
|
||||
return_value=albums['search']['hypnotize'])
|
||||
mocker.patch(
|
||||
'funkwhale_api.musicbrainz.api.artists.get',
|
||||
return_value=api_data.artists['get']['soad'])
|
||||
return_value=artists['get']['soad'])
|
||||
album = models.Album.create_from_api(query="Hypnotize", artist='system of a down', type='album')
|
||||
data = models.Album.api.search(query='Hypnotize', artist='system of a down', type='album')['release-list'][0]
|
||||
|
||||
|
@ -38,16 +35,16 @@ def test_can_create_album_from_api(mocker, db):
|
|||
assert album.artist.mbid, data['artist-credit'][0]['artist']['id']
|
||||
|
||||
|
||||
def test_can_create_track_from_api(mocker, db):
|
||||
def test_can_create_track_from_api(artists, albums, tracks, mocker, db):
|
||||
mocker.patch(
|
||||
'funkwhale_api.musicbrainz.api.artists.get',
|
||||
return_value=api_data.artists['get']['adhesive_wombat'])
|
||||
return_value=artists['get']['adhesive_wombat'])
|
||||
mocker.patch(
|
||||
'funkwhale_api.musicbrainz.api.releases.get',
|
||||
return_value=api_data.albums['get']['marsupial'])
|
||||
return_value=albums['get']['marsupial'])
|
||||
mocker.patch(
|
||||
'funkwhale_api.musicbrainz.api.recordings.search',
|
||||
return_value=api_data.tracks['search']['8bitadventures'])
|
||||
return_value=tracks['search']['8bitadventures'])
|
||||
track = models.Track.create_from_api(query="8-bit adventure")
|
||||
data = models.Track.api.search(query='8-bit adventure')['recording-list'][0]
|
||||
assert int(data['ext:score']) == 100
|
||||
|
@ -60,16 +57,17 @@ def test_can_create_track_from_api(mocker, db):
|
|||
assert track.album.title == 'Marsupial Madness'
|
||||
|
||||
|
||||
def test_can_create_track_from_api_with_corresponding_tags(mocker, db):
|
||||
def test_can_create_track_from_api_with_corresponding_tags(
|
||||
artists, albums, tracks, mocker, db):
|
||||
mocker.patch(
|
||||
'funkwhale_api.musicbrainz.api.artists.get',
|
||||
return_value=api_data.artists['get']['adhesive_wombat'])
|
||||
return_value=artists['get']['adhesive_wombat'])
|
||||
mocker.patch(
|
||||
'funkwhale_api.musicbrainz.api.releases.get',
|
||||
return_value=api_data.albums['get']['marsupial'])
|
||||
return_value=albums['get']['marsupial'])
|
||||
mocker.patch(
|
||||
'funkwhale_api.musicbrainz.api.recordings.get',
|
||||
return_value=api_data.tracks['get']['8bitadventures'])
|
||||
return_value=tracks['get']['8bitadventures'])
|
||||
track = models.Track.create_from_api(id='9968a9d6-8d92-4051-8f76-674e157b6eed')
|
||||
expected_tags = ['techno', 'good-music']
|
||||
track_tags = [tag.slug for tag in track.tags.all()]
|
||||
|
@ -77,16 +75,17 @@ def test_can_create_track_from_api_with_corresponding_tags(mocker, db):
|
|||
assert tag in track_tags
|
||||
|
||||
|
||||
def test_can_get_or_create_track_from_api(mocker, db):
|
||||
def test_can_get_or_create_track_from_api(
|
||||
artists, albums, tracks, mocker, db):
|
||||
mocker.patch(
|
||||
'funkwhale_api.musicbrainz.api.artists.get',
|
||||
return_value=api_data.artists['get']['adhesive_wombat'])
|
||||
return_value=artists['get']['adhesive_wombat'])
|
||||
mocker.patch(
|
||||
'funkwhale_api.musicbrainz.api.releases.get',
|
||||
return_value=api_data.albums['get']['marsupial'])
|
||||
return_value=albums['get']['marsupial'])
|
||||
mocker.patch(
|
||||
'funkwhale_api.musicbrainz.api.recordings.search',
|
||||
return_value=api_data.tracks['search']['8bitadventures'])
|
||||
return_value=tracks['search']['8bitadventures'])
|
||||
track = models.Track.create_from_api(query="8-bit adventure")
|
||||
data = models.Track.api.search(query='8-bit adventure')['recording-list'][0]
|
||||
assert int(data['ext:score']) == 100
|
||||
|
@ -126,13 +125,13 @@ def test_artist_tags_deduced_from_album_tags(factories, django_assert_num_querie
|
|||
assert tag in artist.tags
|
||||
|
||||
|
||||
def test_can_download_image_file_for_album(mocker, factories):
|
||||
def test_can_download_image_file_for_album(binary_cover, mocker, factories):
|
||||
mocker.patch(
|
||||
'funkwhale_api.musicbrainz.api.images.get_front',
|
||||
return_value=binary_data)
|
||||
return_value=binary_cover)
|
||||
# client._api.get_image_front('55ea4f82-b42b-423e-a0e5-290ccdf443ed')
|
||||
album = factories['music.Album'](mbid='55ea4f82-b42b-423e-a0e5-290ccdf443ed')
|
||||
album.get_image()
|
||||
album.save()
|
||||
|
||||
assert album.cover.file.read() == binary_data
|
||||
assert album.cover.file.read() == binary_cover
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue