2019-11-08 02:09:39 +09:00
|
|
|
|
from yandex_music import Artist
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class TestArtist:
|
Добавлены основные тесты для следующих классов: Album, Artist, Chart, Counts, Genre, Label, PermissionAlerts, PromoCodeStatus, Restrictions, Settings, Station, StatuonResult, Status, Track.
Исправлены фикстуры и сравнения для вышеперечисленных классов.
Отрефакторен restrictions.py.
Исправлен баг в .to_dict() методе, связанный с десериализцией объектов списков и словарей.
2019-11-09 00:24:54 +09:00
|
|
|
|
id = 10987
|
2022-02-21 08:12:11 +09:00
|
|
|
|
error = 'not-found'
|
|
|
|
|
reason = 'not-found'
|
Добавлены основные тесты для следующих классов: Album, Artist, Chart, Counts, Genre, Label, PermissionAlerts, PromoCodeStatus, Restrictions, Settings, Station, StatuonResult, Status, Track.
Исправлены фикстуры и сравнения для вышеперечисленных классов.
Отрефакторен restrictions.py.
Исправлен баг в .to_dict() методе, связанный с десериализцией объектов списков и словарей.
2019-11-09 00:24:54 +09:00
|
|
|
|
name = 'Elvis Presley'
|
|
|
|
|
various = False
|
2019-11-08 02:09:39 +09:00
|
|
|
|
composer = None
|
|
|
|
|
genres = None
|
2020-04-17 04:06:13 +09:00
|
|
|
|
og_image = ''
|
2019-11-08 02:09:39 +09:00
|
|
|
|
op_image = None
|
|
|
|
|
no_pictures_from_search = None
|
|
|
|
|
available = None
|
Добавлены основные тесты для следующих классов: Album, Artist, Chart, Counts, Genre, Label, PermissionAlerts, PromoCodeStatus, Restrictions, Settings, Station, StatuonResult, Status, Track.
Исправлены фикстуры и сравнения для вышеперечисленных классов.
Отрефакторен restrictions.py.
Исправлен баг в .to_dict() методе, связанный с десериализцией объектов списков и словарей.
2019-11-09 00:24:54 +09:00
|
|
|
|
tickets_available = False
|
|
|
|
|
likes_count = 657469
|
2019-11-08 02:09:39 +09:00
|
|
|
|
regions = None
|
|
|
|
|
full_names = None
|
2021-02-03 21:28:10 +09:00
|
|
|
|
hand_made_description = (
|
|
|
|
|
'Одна из самых популярных советских рок-групп 1980-х годов. Лидером, '
|
|
|
|
|
'автором практически всех текстов и музыки неизменно оставался Виктор Цой.'
|
|
|
|
|
)
|
2019-11-08 02:09:39 +09:00
|
|
|
|
countries = None
|
|
|
|
|
en_wikipedia_link = None
|
|
|
|
|
db_aliases = None
|
|
|
|
|
aliases = None
|
Добавлены основные тесты для следующих классов: Album, Artist, Chart, Counts, Genre, Label, PermissionAlerts, PromoCodeStatus, Restrictions, Settings, Station, StatuonResult, Status, Track.
Исправлены фикстуры и сравнения для вышеперечисленных классов.
Отрефакторен restrictions.py.
Исправлен баг в .to_dict() методе, связанный с десериализцией объектов списков и словарей.
2019-11-09 00:24:54 +09:00
|
|
|
|
init_date = '1935-01-08'
|
2019-11-08 02:09:39 +09:00
|
|
|
|
end_date = None
|
2021-01-28 01:24:40 +09:00
|
|
|
|
ya_money_id = '4100170623944'
|
2019-11-08 02:09:39 +09:00
|
|
|
|
|
2021-02-03 21:28:10 +09:00
|
|
|
|
def test_expected_values(
|
|
|
|
|
self, artist, cover, counts, ratings, link, track_without_artists_and_albums, description, artist_decomposed
|
|
|
|
|
):
|
Добавлены основные тесты для следующих классов: Album, Artist, Chart, Counts, Genre, Label, PermissionAlerts, PromoCodeStatus, Restrictions, Settings, Station, StatuonResult, Status, Track.
Исправлены фикстуры и сравнения для вышеперечисленных классов.
Отрефакторен restrictions.py.
Исправлен баг в .to_dict() методе, связанный с десериализцией объектов списков и словарей.
2019-11-09 00:24:54 +09:00
|
|
|
|
assert artist.id == self.id
|
2020-06-06 23:06:23 +09:00
|
|
|
|
assert artist.error == self.error
|
2020-04-17 04:01:26 +09:00
|
|
|
|
assert artist.reason == self.reason
|
2019-11-08 02:09:39 +09:00
|
|
|
|
assert artist.name == self.name
|
|
|
|
|
assert artist.various == self.various
|
|
|
|
|
assert artist.composer == self.composer
|
|
|
|
|
assert artist.cover == cover
|
|
|
|
|
assert artist.genres == self.genres
|
2020-04-17 04:06:13 +09:00
|
|
|
|
assert artist.og_image == self.og_image
|
2019-11-08 02:09:39 +09:00
|
|
|
|
assert artist.op_image == self.op_image
|
|
|
|
|
assert artist.no_pictures_from_search == self.no_pictures_from_search
|
|
|
|
|
assert artist.counts == counts
|
|
|
|
|
assert artist.available == self.available
|
|
|
|
|
assert artist.ratings == ratings
|
Добавлены основные тесты для следующих классов: Album, Artist, Chart, Counts, Genre, Label, PermissionAlerts, PromoCodeStatus, Restrictions, Settings, Station, StatuonResult, Status, Track.
Исправлены фикстуры и сравнения для вышеперечисленных классов.
Отрефакторен restrictions.py.
Исправлен баг в .to_dict() методе, связанный с десериализцией объектов списков и словарей.
2019-11-09 00:24:54 +09:00
|
|
|
|
assert artist.links == [link]
|
2019-11-08 02:09:39 +09:00
|
|
|
|
assert artist.tickets_available == self.tickets_available
|
|
|
|
|
assert artist.likes_count == self.likes_count
|
2019-11-10 03:11:43 +09:00
|
|
|
|
assert artist.popular_tracks == [track_without_artists_and_albums]
|
2019-11-08 02:09:39 +09:00
|
|
|
|
assert artist.regions == self.regions
|
2020-06-07 21:24:16 +09:00
|
|
|
|
assert artist.decomposed == artist_decomposed
|
2019-11-08 02:09:39 +09:00
|
|
|
|
assert artist.full_names == self.full_names
|
2020-06-14 21:09:50 +09:00
|
|
|
|
assert artist.hand_made_description == self.hand_made_description
|
2019-11-08 02:09:39 +09:00
|
|
|
|
assert artist.description == description
|
|
|
|
|
assert artist.countries == self.countries
|
|
|
|
|
assert artist.en_wikipedia_link == self.en_wikipedia_link
|
|
|
|
|
assert artist.db_aliases == self.db_aliases
|
|
|
|
|
assert artist.aliases == self.aliases
|
|
|
|
|
assert artist.init_date == self.init_date
|
|
|
|
|
assert artist.end_date == self.end_date
|
2021-01-28 01:24:40 +09:00
|
|
|
|
assert artist.ya_money_id == self.ya_money_id
|
2019-11-08 02:09:39 +09:00
|
|
|
|
|
2019-12-29 16:38:24 +09:00
|
|
|
|
def test_de_json_none(self, client):
|
|
|
|
|
assert Artist.de_json({}, client) is None
|
|
|
|
|
|
2019-12-29 17:06:27 +09:00
|
|
|
|
def test_de_list_none(self, client):
|
|
|
|
|
assert Artist.de_list({}, client) == []
|
|
|
|
|
|
Добавлены основные тесты для следующих классов: Album, Artist, Chart, Counts, Genre, Label, PermissionAlerts, PromoCodeStatus, Restrictions, Settings, Station, StatuonResult, Status, Track.
Исправлены фикстуры и сравнения для вышеперечисленных классов.
Отрефакторен restrictions.py.
Исправлен баг в .to_dict() методе, связанный с десериализцией объектов списков и словарей.
2019-11-09 00:24:54 +09:00
|
|
|
|
def test_de_json_required(self, client, cover):
|
2021-09-19 22:47:19 +09:00
|
|
|
|
json_dict = {'id': self.id}
|
2019-11-08 02:09:39 +09:00
|
|
|
|
artist = Artist.de_json(json_dict, client)
|
|
|
|
|
|
Добавлены основные тесты для следующих классов: Album, Artist, Chart, Counts, Genre, Label, PermissionAlerts, PromoCodeStatus, Restrictions, Settings, Station, StatuonResult, Status, Track.
Исправлены фикстуры и сравнения для вышеперечисленных классов.
Отрефакторен restrictions.py.
Исправлен баг в .to_dict() методе, связанный с десериализцией объектов списков и словарей.
2019-11-09 00:24:54 +09:00
|
|
|
|
assert artist.id == self.id
|
2019-11-08 02:09:39 +09:00
|
|
|
|
|
2021-02-03 21:28:10 +09:00
|
|
|
|
def test_de_json_all(
|
|
|
|
|
self, client, cover, counts, ratings, link, track_without_artists, description, artist_decomposed
|
|
|
|
|
):
|
2020-06-07 21:24:16 +09:00
|
|
|
|
artist_decomposed_dict = [item if isinstance(item, str) else item.to_dict() for item in artist_decomposed]
|
2021-02-03 21:28:10 +09:00
|
|
|
|
json_dict = {
|
2021-09-19 22:47:19 +09:00
|
|
|
|
'id': self.id,
|
2021-02-03 21:28:10 +09:00
|
|
|
|
'reason': self.reason,
|
|
|
|
|
'error': self.error,
|
|
|
|
|
'name': self.name,
|
|
|
|
|
'various': self.various,
|
|
|
|
|
'composer': self.composer,
|
|
|
|
|
'cover': cover.to_dict(),
|
|
|
|
|
'genres': self.genres,
|
|
|
|
|
'op_image': self.op_image,
|
|
|
|
|
'og_image': self.og_image,
|
|
|
|
|
'no_pictures_from_search': self.no_pictures_from_search,
|
|
|
|
|
'counts': counts.to_dict(),
|
|
|
|
|
'available': self.available,
|
|
|
|
|
'ratings': ratings.to_dict(),
|
|
|
|
|
'links': [link.to_dict()],
|
|
|
|
|
'tickets_available': self.tickets_available,
|
|
|
|
|
'likes_count': self.likes_count,
|
|
|
|
|
'popular_tracks': [track_without_artists.to_dict()],
|
|
|
|
|
'regions': self.regions,
|
|
|
|
|
'decomposed': artist_decomposed_dict,
|
|
|
|
|
'full_names': self.full_names,
|
|
|
|
|
'description': description.to_dict(),
|
|
|
|
|
'countries': self.countries,
|
|
|
|
|
'en_wikipedia_link': self.en_wikipedia_link,
|
|
|
|
|
'db_aliases': self.db_aliases,
|
|
|
|
|
'aliases': self.aliases,
|
|
|
|
|
'init_date': self.init_date,
|
|
|
|
|
'end_date': self.end_date,
|
|
|
|
|
'hand_made_description': self.hand_made_description,
|
|
|
|
|
'ya_money_id': self.ya_money_id,
|
|
|
|
|
}
|
2019-11-08 02:09:39 +09:00
|
|
|
|
artist = Artist.de_json(json_dict, client)
|
|
|
|
|
|
Добавлены основные тесты для следующих классов: Album, Artist, Chart, Counts, Genre, Label, PermissionAlerts, PromoCodeStatus, Restrictions, Settings, Station, StatuonResult, Status, Track.
Исправлены фикстуры и сравнения для вышеперечисленных классов.
Отрефакторен restrictions.py.
Исправлен баг в .to_dict() методе, связанный с десериализцией объектов списков и словарей.
2019-11-09 00:24:54 +09:00
|
|
|
|
assert artist.id == self.id
|
2020-06-06 23:06:23 +09:00
|
|
|
|
assert artist.error == self.error
|
2020-04-17 04:01:26 +09:00
|
|
|
|
assert artist.reason == self.reason
|
2019-11-08 02:09:39 +09:00
|
|
|
|
assert artist.name == self.name
|
|
|
|
|
assert artist.various == self.various
|
|
|
|
|
assert artist.composer == self.composer
|
|
|
|
|
assert artist.cover == cover
|
|
|
|
|
assert artist.genres == self.genres
|
2020-04-17 04:06:13 +09:00
|
|
|
|
assert artist.og_image == self.og_image
|
2019-11-08 02:09:39 +09:00
|
|
|
|
assert artist.op_image == self.op_image
|
|
|
|
|
assert artist.no_pictures_from_search == self.no_pictures_from_search
|
|
|
|
|
assert artist.counts == counts
|
|
|
|
|
assert artist.available == self.available
|
|
|
|
|
assert artist.ratings == ratings
|
Добавлены основные тесты для следующих классов: Album, Artist, Chart, Counts, Genre, Label, PermissionAlerts, PromoCodeStatus, Restrictions, Settings, Station, StatuonResult, Status, Track.
Исправлены фикстуры и сравнения для вышеперечисленных классов.
Отрефакторен restrictions.py.
Исправлен баг в .to_dict() методе, связанный с десериализцией объектов списков и словарей.
2019-11-09 00:24:54 +09:00
|
|
|
|
assert artist.links == [link]
|
2019-11-08 02:09:39 +09:00
|
|
|
|
assert artist.tickets_available == self.tickets_available
|
|
|
|
|
assert artist.likes_count == self.likes_count
|
Добавлены основные тесты для следующих классов: Album, Artist, Chart, Counts, Genre, Label, PermissionAlerts, PromoCodeStatus, Restrictions, Settings, Station, StatuonResult, Status, Track.
Исправлены фикстуры и сравнения для вышеперечисленных классов.
Отрефакторен restrictions.py.
Исправлен баг в .to_dict() методе, связанный с десериализцией объектов списков и словарей.
2019-11-09 00:24:54 +09:00
|
|
|
|
assert artist.popular_tracks == [track_without_artists]
|
2019-11-08 02:09:39 +09:00
|
|
|
|
assert artist.regions == self.regions
|
2020-06-07 21:24:16 +09:00
|
|
|
|
assert artist.decomposed == artist_decomposed
|
2019-11-08 02:09:39 +09:00
|
|
|
|
assert artist.full_names == self.full_names
|
2020-06-14 21:09:50 +09:00
|
|
|
|
assert artist.hand_made_description == self.hand_made_description
|
2019-11-08 02:09:39 +09:00
|
|
|
|
assert artist.description == description
|
|
|
|
|
assert artist.countries == self.countries
|
|
|
|
|
assert artist.en_wikipedia_link == self.en_wikipedia_link
|
|
|
|
|
assert artist.db_aliases == self.db_aliases
|
|
|
|
|
assert artist.aliases == self.aliases
|
|
|
|
|
assert artist.init_date == self.init_date
|
|
|
|
|
assert artist.end_date == self.end_date
|
2021-01-28 01:24:40 +09:00
|
|
|
|
assert artist.ya_money_id == self.ya_money_id
|
2019-11-08 02:09:39 +09:00
|
|
|
|
|
Добавлены основные тесты для следующих классов: Album, Artist, Chart, Counts, Genre, Label, PermissionAlerts, PromoCodeStatus, Restrictions, Settings, Station, StatuonResult, Status, Track.
Исправлены фикстуры и сравнения для вышеперечисленных классов.
Отрефакторен restrictions.py.
Исправлен баг в .to_dict() методе, связанный с десериализцией объектов списков и словарей.
2019-11-09 00:24:54 +09:00
|
|
|
|
def test_equality(self, cover):
|
2020-02-01 20:34:22 +09:00
|
|
|
|
a = Artist(self.id)
|
|
|
|
|
b = Artist(10)
|
|
|
|
|
c = Artist(self.id)
|
Добавлены основные тесты для следующих классов: Album, Artist, Chart, Counts, Genre, Label, PermissionAlerts, PromoCodeStatus, Restrictions, Settings, Station, StatuonResult, Status, Track.
Исправлены фикстуры и сравнения для вышеперечисленных классов.
Отрефакторен restrictions.py.
Исправлен баг в .to_dict() методе, связанный с десериализцией объектов списков и словарей.
2019-11-09 00:24:54 +09:00
|
|
|
|
|
|
|
|
|
assert a != b
|
|
|
|
|
assert hash(a) != hash(b)
|
|
|
|
|
assert a is not b
|
|
|
|
|
|
|
|
|
|
assert a == c
|