yandex-music-api/tests/test_landing.py

47 行
1.5 KiB
Python

import pytest
from yandex_music import Landing
@pytest.fixture(scope='class')
def landing(block):
return Landing(TestLanding.pumpkin, TestLanding.content_id, [block])
class TestLanding:
pumpkin = False
content_id = '-1159799446'
def test_expected_values(self, landing, block):
assert landing.pumpkin == self.pumpkin
assert landing.content_id == self.content_id
assert landing.blocks == [block]
def test_de_json_required(self, client, block):
json_dict = {'pumpkin': self.pumpkin, 'content_id': self.content_id, 'blocks': [block.to_dict()]}
landing = Landing.de_json(json_dict, client)
assert landing.pumpkin == self.pumpkin
assert landing.content_id == self.content_id
assert landing.blocks == [block]
def test_de_json_all(self, client, block):
json_dict = {'pumpkin': self.pumpkin, 'content_id': self.content_id, 'blocks': [block.to_dict()]}
landing = Landing.de_json(json_dict, client)
assert landing.pumpkin == self.pumpkin
assert landing.content_id == self.content_id
assert landing.blocks == [block]
def test_equality(self, block):
a = Landing(self.pumpkin, self.content_id, [block])
b = Landing(self.pumpkin, '', [block])
c = Landing(self.pumpkin, self.content_id, [])
d = Landing(self.pumpkin, self.content_id, [block])
assert a != b != c
assert hash(a) != hash(b) != hash(c)
assert a is not b is not c
assert a == d