Добавлены основные тесты для следующих классов: 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
|
|
|
|
from yandex_music import Station
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class TestStation:
|
|
|
|
|
name = 'На вашей волне'
|
|
|
|
|
id_for_from = 'user-561231028'
|
Добавлен новый класс LicenceTextPart.
Поля cheapest, title, family_sub, fb_image, fb_name, family, intro_period_duration, intro_price, start_period_duration, start_price, licence_text_parts для Product.
Поля storage_dir, duplicates для Album.
Поле subscribed для ArtistEvent.
Поле description для GeneratedPlaylist.
Поле genre для Event.
Поле show_in_regions для Genre.
Поле cover_uri для MixLink.
Поля og_description, top_artist для Playlist.
Поля full_image_url, mts_full_image_url для Station.
Документация и тесты к новым поля. #339
2020-06-07 05:48:32 +09:00
|
|
|
|
full_image_url = 'avatars.yandex.net/get-music-misc/30221/rotor-activity-sex-full-image-3sv6j/%%'
|
|
|
|
|
mts_full_image_url = 'avatars.yandex.net/get-music-misc/2413828/rotor-activity-sex-mts-full-image-sYtDD/%%'
|
Добавлены основные тесты для следующих классов: 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
|
|
|
|
|
2019-12-27 05:27:58 +09:00
|
|
|
|
def test_expected_values(self, station, id_, icon, restrictions):
|
|
|
|
|
assert station.id == 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 station.name == self.name
|
|
|
|
|
assert station.icon == icon
|
|
|
|
|
assert station.mts_icon == icon
|
|
|
|
|
assert station.geocell_icon == icon
|
|
|
|
|
assert station.id_for_from == self.id_for_from
|
|
|
|
|
assert station.restrictions == restrictions
|
|
|
|
|
assert station.restrictions2 == restrictions
|
Добавлен новый класс LicenceTextPart.
Поля cheapest, title, family_sub, fb_image, fb_name, family, intro_period_duration, intro_price, start_period_duration, start_price, licence_text_parts для Product.
Поля storage_dir, duplicates для Album.
Поле subscribed для ArtistEvent.
Поле description для GeneratedPlaylist.
Поле genre для Event.
Поле show_in_regions для Genre.
Поле cover_uri для MixLink.
Поля og_description, top_artist для Playlist.
Поля full_image_url, mts_full_image_url для Station.
Документация и тесты к новым поля. #339
2020-06-07 05:48:32 +09:00
|
|
|
|
assert station.full_image_url == self.full_image_url
|
|
|
|
|
assert station.mts_full_image_url == self.mts_full_image_url
|
2019-12-27 05:27:58 +09:00
|
|
|
|
assert station.parent_id == 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
|
|
|
|
|
2019-12-29 16:38:24 +09:00
|
|
|
|
def test_de_json_none(self, client):
|
|
|
|
|
assert Station.de_json({}, client) is None
|
|
|
|
|
|
2019-12-27 05:27:58 +09:00
|
|
|
|
def test_de_json_required(self, client, id_, icon, restrictions):
|
2021-02-03 21:28:10 +09:00
|
|
|
|
json_dict = {
|
2021-09-19 22:47:19 +09:00
|
|
|
|
'id': id_.to_dict(),
|
2021-02-03 21:28:10 +09:00
|
|
|
|
'name': self.name,
|
|
|
|
|
'icon': icon.to_dict(),
|
|
|
|
|
'mts_icon': icon.to_dict(),
|
|
|
|
|
'geocell_icon': icon.to_dict(),
|
|
|
|
|
'id_for_from': self.id_for_from,
|
|
|
|
|
'restrictions': restrictions.to_dict(),
|
|
|
|
|
'restrictions2': restrictions.to_dict(),
|
|
|
|
|
}
|
Добавлены основные тесты для следующих классов: 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
|
|
|
|
station = Station.de_json(json_dict, client)
|
|
|
|
|
|
2019-12-27 05:27:58 +09:00
|
|
|
|
assert station.id == 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 station.name == self.name
|
|
|
|
|
assert station.icon == icon
|
|
|
|
|
assert station.mts_icon == icon
|
|
|
|
|
assert station.geocell_icon == icon
|
|
|
|
|
assert station.id_for_from == self.id_for_from
|
|
|
|
|
assert station.restrictions == restrictions
|
|
|
|
|
assert station.restrictions2 == restrictions
|
|
|
|
|
|
2019-12-27 05:27:58 +09:00
|
|
|
|
def test_de_json_all(self, client, id_, icon, restrictions):
|
2021-02-03 21:28:10 +09:00
|
|
|
|
json_dict = {
|
2021-09-19 22:47:19 +09:00
|
|
|
|
'id': id_.to_dict(),
|
2021-02-03 21:28:10 +09:00
|
|
|
|
'name': self.name,
|
|
|
|
|
'icon': icon.to_dict(),
|
|
|
|
|
'mts_icon': icon.to_dict(),
|
|
|
|
|
'geocell_icon': icon.to_dict(),
|
|
|
|
|
'id_for_from': self.id_for_from,
|
|
|
|
|
'restrictions': restrictions.to_dict(),
|
|
|
|
|
'restrictions2': restrictions.to_dict(),
|
|
|
|
|
'parent_id': id_.to_dict(),
|
|
|
|
|
'full_image_url': self.full_image_url,
|
|
|
|
|
'mts_full_image_url': self.mts_full_image_url,
|
|
|
|
|
}
|
Добавлены основные тесты для следующих классов: 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
|
|
|
|
station = Station.de_json(json_dict, client)
|
|
|
|
|
|
2019-12-27 05:27:58 +09:00
|
|
|
|
assert station.id == 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 station.name == self.name
|
|
|
|
|
assert station.icon == icon
|
|
|
|
|
assert station.mts_icon == icon
|
|
|
|
|
assert station.geocell_icon == icon
|
|
|
|
|
assert station.id_for_from == self.id_for_from
|
|
|
|
|
assert station.restrictions == restrictions
|
|
|
|
|
assert station.restrictions2 == restrictions
|
Добавлен новый класс LicenceTextPart.
Поля cheapest, title, family_sub, fb_image, fb_name, family, intro_period_duration, intro_price, start_period_duration, start_price, licence_text_parts для Product.
Поля storage_dir, duplicates для Album.
Поле subscribed для ArtistEvent.
Поле description для GeneratedPlaylist.
Поле genre для Event.
Поле show_in_regions для Genre.
Поле cover_uri для MixLink.
Поля og_description, top_artist для Playlist.
Поля full_image_url, mts_full_image_url для Station.
Документация и тесты к новым поля. #339
2020-06-07 05:48:32 +09:00
|
|
|
|
assert station.full_image_url == self.full_image_url
|
|
|
|
|
assert station.mts_full_image_url == self.mts_full_image_url
|
2019-12-27 05:27:58 +09:00
|
|
|
|
assert station.parent_id == 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
|
|
|
|
|
2019-12-27 05:27:58 +09:00
|
|
|
|
def test_equality(self, id_, icon, restrictions):
|
2019-12-28 22:25:09 +09:00
|
|
|
|
a = Station(id_, self.name, icon, icon, icon, self.id_for_from, restrictions, restrictions)
|
|
|
|
|
b = Station(id_, self.name, None, icon, icon, self.id_for_from, restrictions, restrictions)
|
|
|
|
|
c = Station(id_, '', icon, icon, icon, self.id_for_from, restrictions, restrictions)
|
|
|
|
|
d = Station(id_, self.name, icon, icon, icon, self.id_for_from, restrictions, restrictions)
|
Добавлены основные тесты для следующих классов: 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 != c
|
|
|
|
|
assert hash(a) != hash(b) != hash(c)
|
|
|
|
|
assert a is not b is not c
|
|
|
|
|
|
|
|
|
|
assert a == d
|