Поле advertisement класса Status теперь опциональное

このコミットが含まれているのは:
Il`ya Semyonov 2020-06-06 11:45:38 +03:00
コミット 77f77a0e6f
2個のファイルの変更8行の追加10行の削除

ファイルの表示

@ -29,13 +29,11 @@ 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(),
'advertisement': self.advertisement}
json_dict = {'account': account.to_dict(), 'permissions': permissions.to_dict()}
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(),
@ -60,9 +58,9 @@ class TestStatus:
assert status.premium_region == self.premium_region
def test_equality(self, account, permissions, subscription):
a = Status(account, permissions, self.advertisement)
b = Status(None, permissions, '')
c = Status(account, permissions, self.advertisement)
a = Status(account, permissions)
b = Status(None, permissions)
c = Status(account, permissions)
assert a != b
assert hash(a) != hash(b)

ファイルの表示

@ -27,7 +27,7 @@ class Status(YandexMusicObject):
Args:
account (:obj:`yandex_music.Account`): Основная информация об аккаунте
permissions (:obj:`yandex_music.Permissions`): Информация о правах пользователя.
advertisement (:obj:`str`): Рекламное объявление.
advertisement (:obj:`str`, optional): Рекламное объявление.
subscription (:obj:`yandex_music.Subscription`, optional): Информация о подписках.
cache_limit (:obj:`int`, optional): Максимальное количество загруженных треков.
subeditor (:obj:`bool`, optional): Наличие статуса модератора проверки корректности информации.
@ -44,7 +44,7 @@ class Status(YandexMusicObject):
def __init__(self,
account: Optional['Account'],
permissions: Optional['Permissions'],
advertisement: str,
advertisement: Optional[str] = None,
subscription: Optional['Subscription'] = None,
cache_limit: Optional[int] = None,
subeditor: Optional[bool] = None,
@ -58,8 +58,8 @@ class Status(YandexMusicObject):
**kwargs) -> None:
self.account = account
self.permissions = permissions
self.advertisement = advertisement
self.advertisement = advertisement
self.subscription = subscription
self.cache_limit = cache_limit
self.subeditor = subeditor
@ -71,7 +71,7 @@ class Status(YandexMusicObject):
self.premium_region = premium_region
self.client = client
self._id_attrs = (self.account, self.permissions, self.advertisement)
self._id_attrs = (self.account, self.permissions)
super().handle_unknown_kwargs(self, **kwargs)