Добавлено поле advertisement классу Status
このコミットが含まれているのは:
コミット
2758197c83
|
@ -406,9 +406,9 @@ def track_position():
|
|||
|
||||
@pytest.fixture(scope='session')
|
||||
def status(account, permissions, subscription, plus):
|
||||
return Status(account, permissions, subscription, TestStatus.cache_limit, TestStatus.subeditor,
|
||||
TestStatus.subeditor_level, plus, TestStatus.default_email, TestStatus.skips_per_hour,
|
||||
TestStatus.station_exists, TestStatus.premium_region)
|
||||
return Status(account, permissions, TestStatus.advertisement, subscription, TestStatus.cache_limit,
|
||||
TestStatus.subeditor, TestStatus.subeditor_level, plus, TestStatus.default_email,
|
||||
TestStatus.skips_per_hour, TestStatus.station_exists, TestStatus.premium_region)
|
||||
|
||||
|
||||
@pytest.fixture(scope='session')
|
||||
|
|
|
@ -2,6 +2,7 @@ from yandex_music import Status
|
|||
|
||||
|
||||
class TestStatus:
|
||||
advertisement = 'Оформите постоянную подписку – первый месяц бесплатно!'
|
||||
cache_limit = 99
|
||||
subeditor = False
|
||||
subeditor_level = 0
|
||||
|
@ -14,6 +15,7 @@ class TestStatus:
|
|||
assert status.account == account
|
||||
assert status.permissions == permissions
|
||||
assert status.subscription == subscription
|
||||
assert status.advertisement == self.advertisement
|
||||
assert status.cache_limit == self.cache_limit
|
||||
assert status.subeditor == self.subeditor
|
||||
assert status.subeditor_level == self.subeditor_level
|
||||
|
@ -27,23 +29,27 @@ class TestStatus:
|
|||
assert Status.de_json({}, client) is None
|
||||
|
||||
def test_de_json_required(self, client, account, permissions):
|
||||
json_dict = {'account': account.to_dict(), 'permissions': permissions.to_dict()}
|
||||
json_dict = {'account': account.to_dict(), 'permissions': permissions.to_dict(),
|
||||
'advertisement': self.advertisement}
|
||||
status = Status.de_json(json_dict, client)
|
||||
|
||||
assert status.account == account
|
||||
assert status.permissions == permissions
|
||||
assert status.advertisement == self.advertisement
|
||||
|
||||
def test_de_json_all(self, client, account, permissions, subscription, plus):
|
||||
json_dict = {'account': account.to_dict(), 'permissions': permissions.to_dict(),
|
||||
'subscription': subscription.to_dict(), 'cache_limit': self.cache_limit,
|
||||
'subeditor': self.subeditor, 'subeditor_level': self.subeditor_level, 'plus': plus.to_dict(),
|
||||
'default_email': self.default_email, 'skips_per_hour': self.skips_per_hour,
|
||||
'station_exists': self.station_exists, 'premium_region': self.premium_region}
|
||||
'station_exists': self.station_exists, 'premium_region': self.premium_region,
|
||||
'advertisement': self.advertisement}
|
||||
status = Status.de_json(json_dict, client)
|
||||
|
||||
assert status.account == account
|
||||
assert status.permissions == permissions
|
||||
assert status.subscription == subscription
|
||||
assert status.advertisement == self.advertisement
|
||||
assert status.cache_limit == self.cache_limit
|
||||
assert status.subeditor == self.subeditor
|
||||
assert status.subeditor_level == self.subeditor_level
|
||||
|
@ -54,9 +60,9 @@ class TestStatus:
|
|||
assert status.premium_region == self.premium_region
|
||||
|
||||
def test_equality(self, account, permissions, subscription):
|
||||
a = Status(account, permissions)
|
||||
b = Status(None, permissions, subscription, self.cache_limit)
|
||||
c = Status(account, permissions)
|
||||
a = Status(account, permissions, self.advertisement)
|
||||
b = Status(None, permissions, '')
|
||||
c = Status(account, permissions, self.advertisement)
|
||||
|
||||
assert a != b
|
||||
assert hash(a) != hash(b)
|
||||
|
|
|
@ -12,6 +12,7 @@ class Status(YandexMusicObject):
|
|||
Attributes:
|
||||
account (:obj:`yandex_music.Account`): Основная информация об аккаунте.
|
||||
permissions (:obj:`yandex_music.Permissions`): Информация о правах пользователя.
|
||||
advertisement (:obj:`str`): Рекламное объявление.
|
||||
subscription (:obj:`yandex_music.Subscription`): Информация о подписках.
|
||||
cache_limit (:obj:`int`): Максимальное количество загруженных треков.
|
||||
subeditor (:obj:`bool`): Наличие статуса модератора проверки корректности информации.
|
||||
|
@ -26,7 +27,8 @@ class Status(YandexMusicObject):
|
|||
Args:
|
||||
account (:obj:`yandex_music.Account`): Основная информация об аккаунте
|
||||
permissions (:obj:`yandex_music.Permissions`): Информация о правах пользователя.
|
||||
subscription (:obj:`yandex_music.Subscription`): Информация о подписках.
|
||||
advertisement (:obj:`str`): Рекламное объявление.
|
||||
subscription (:obj:`yandex_music.Subscription`, optional): Информация о подписках.
|
||||
cache_limit (:obj:`int`, optional): Максимальное количество загруженных треков.
|
||||
subeditor (:obj:`bool`, optional): Наличие статуса модератора проверки корректности информации.
|
||||
subeditor_level (:obj:`int`, optional): Уровень статуса модератора.
|
||||
|
@ -42,6 +44,7 @@ class Status(YandexMusicObject):
|
|||
def __init__(self,
|
||||
account: Optional['Account'],
|
||||
permissions: Optional['Permissions'],
|
||||
advertisement: str,
|
||||
subscription: Optional['Subscription'] = None,
|
||||
cache_limit: Optional[int] = None,
|
||||
subeditor: Optional[bool] = None,
|
||||
|
@ -57,6 +60,7 @@ class Status(YandexMusicObject):
|
|||
|
||||
self.account = account
|
||||
self.permissions = permissions
|
||||
self.advertisement = advertisement
|
||||
|
||||
self.subscription = subscription
|
||||
self.cache_limit = cache_limit
|
||||
|
@ -69,7 +73,7 @@ class Status(YandexMusicObject):
|
|||
self.premium_region = premium_region
|
||||
|
||||
self.client = client
|
||||
self._id_attrs = (self.account, self.permissions)
|
||||
self._id_attrs = (self.account, self.permissions, self.advertisement)
|
||||
|
||||
@classmethod
|
||||
def de_json(cls, data: dict, client: 'Client') -> Optional['Status']:
|
||||
|
|
読み込み中…
新しいイシューから参照