yandex-music-api/tests/test_landing_list.py

65 行
2.8 KiB
Python

import pytest
from yandex_music import LandingList
@pytest.fixture(scope='class')
def landing_list(playlist_id):
return LandingList(TestLandingList.type, TestLandingList.type_for_from, TestLandingList.title, TestLandingList.id,
TestLandingList.new_releases, [playlist_id], TestLandingList.podcasts)
class TestLandingList:
id = 'fNdCYuAs'
title = 'Новые треки, альбомы и сборники'
type = 'new-releases'
type_for_from = 'new-releases'
new_releases = [10704986, 10527291, 9479589]
podcasts = [10532030, 8693523, 10509632]
def test_expected_values(self, landing_list, playlist_id):
assert landing_list.id == self.id
assert landing_list.title == self.title
assert landing_list.type == self.type
assert landing_list.type_for_from == self.type_for_from
assert landing_list.new_releases == self.new_releases
assert landing_list.podcasts == self.podcasts
assert landing_list.new_playlists == [playlist_id]
def test_de_json_none(self, client):
assert LandingList.de_json({}, client) is None
def test_de_json_required(self, client):
json_dict = {'title': self.title, 'type_': self.type, 'type_for_from': self.type_for_from}
landing_list = LandingList.de_json(json_dict, client)
assert landing_list.title == self.title
assert landing_list.type == self.type
assert landing_list.type_for_from == self.type_for_from
def test_de_json_all(self, client, playlist_id):
json_dict = {'title': self.title, 'type_': self.type, 'type_for_from': self.type_for_from, 'id_': self.id,
'new_releases': self.new_releases, 'podcasts': self.podcasts,
'new_playlists': [playlist_id.to_dict()]}
landing_list = LandingList.de_json(json_dict, client)
assert landing_list.id == self.id
assert landing_list.title == self.title
assert landing_list.type == self.type
assert landing_list.type_for_from == self.type_for_from
assert landing_list.new_releases == self.new_releases
assert landing_list.podcasts == self.podcasts
assert landing_list.new_playlists == [playlist_id]
def test_equality(self, playlist_id):
a = LandingList(self.type, self.type_for_from, self.title, self.id, self.new_releases, [playlist_id], [])
b = LandingList(self.type, self.type_for_from, self.title, self.id, self.new_releases, [], [])
c = LandingList(self.type, self.type_for_from, self.title, '', self.new_releases, [playlist_id], [])
d = LandingList(self.type, self.type_for_from, self.title, self.id, self.new_releases, [playlist_id], [])
assert a != b != c
assert hash(a) != hash(b) != hash(c)
assert a is not b is not c
assert a == d