yandex-music-api/tests/test_supplement.py

54 行
2.1 KiB
Python

import pytest
from yandex_music import Supplement
@pytest.fixture(scope='class')
def supplement(lyrics, video_supplement):
return Supplement(TestSupplement.id, lyrics, [video_supplement], TestSupplement.radio_is_available)
class TestSupplement:
id = 103844
radio_is_available = False
def test_expected_values(self, supplement, lyrics, video_supplement):
assert supplement.id == self.id
assert supplement.lyrics == lyrics
assert supplement.videos == [video_supplement]
assert supplement.radio_is_available == self.radio_is_available
def test_de_json_none(self, client):
assert Supplement.de_json({}, client) is None
def test_de_json_required(self, client, lyrics, video_supplement):
json_dict = {'id_': self.id, 'lyrics': lyrics.to_dict(), 'videos': [video_supplement.to_dict()],
'radio_is_available': self.radio_is_available}
supplement = Supplement.de_json(json_dict, client)
assert supplement.id == self.id
assert supplement.lyrics == lyrics
assert supplement.videos == [video_supplement]
assert supplement.radio_is_available == self.radio_is_available
def test_de_json_all(self, client, lyrics, video_supplement):
json_dict = {'id_': self.id, 'lyrics': lyrics.to_dict(), 'videos': [video_supplement.to_dict()],
'radio_is_available': self.radio_is_available}
supplement = Supplement.de_json(json_dict, client)
assert supplement.id == self.id
assert supplement.lyrics == lyrics
assert supplement.videos == [video_supplement]
assert supplement.radio_is_available == self.radio_is_available
def test_equality(self, lyrics, video_supplement):
a = Supplement(self.id, lyrics, [video_supplement], self.radio_is_available)
b = Supplement(self.id, None, [video_supplement], True)
c = Supplement(self.id, lyrics, [video_supplement], self.radio_is_available)
assert a != b
assert hash(a) != hash(b)
assert a is not b
assert a == c