Поле product_id класса AutoRenewable теперь опционально
このコミットが含まれているのは:
コミット
d6da8f63ce
|
@ -328,7 +328,7 @@ def permissions():
|
||||||
@pytest.fixture(scope='session')
|
@pytest.fixture(scope='session')
|
||||||
def auto_renewable(product):
|
def auto_renewable(product):
|
||||||
return AutoRenewable(TestAutoRenewable.expires, TestAutoRenewable.vendor, TestAutoRenewable.vendor_help_url,
|
return AutoRenewable(TestAutoRenewable.expires, TestAutoRenewable.vendor, TestAutoRenewable.vendor_help_url,
|
||||||
TestAutoRenewable.product_id, product, TestAutoRenewable.finished, TestAutoRenewable.order_id)
|
product, TestAutoRenewable.finished, TestAutoRenewable.product_id, TestAutoRenewable.order_id)
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope='session')
|
@pytest.fixture(scope='session')
|
||||||
|
|
|
@ -26,13 +26,12 @@ class TestAutoRenewable:
|
||||||
|
|
||||||
def test_de_json_required(self, client, product):
|
def test_de_json_required(self, client, product):
|
||||||
json_dict = {'expires': self.expires, 'vendor': self.vendor, 'vendor_help_url': self.vendor_help_url,
|
json_dict = {'expires': self.expires, 'vendor': self.vendor, 'vendor_help_url': self.vendor_help_url,
|
||||||
'product_id': self.product_id, 'product': product.to_dict(), 'finished': self.finished}
|
'product': product.to_dict(), 'finished': self.finished}
|
||||||
auto_renewable = AutoRenewable.de_json(json_dict, client)
|
auto_renewable = AutoRenewable.de_json(json_dict, client)
|
||||||
|
|
||||||
assert auto_renewable.expires == self.expires
|
assert auto_renewable.expires == self.expires
|
||||||
assert auto_renewable.vendor == self.vendor
|
assert auto_renewable.vendor == self.vendor
|
||||||
assert auto_renewable.vendor_help_url == self.vendor_help_url
|
assert auto_renewable.vendor_help_url == self.vendor_help_url
|
||||||
assert auto_renewable.product_id == self.product_id
|
|
||||||
assert auto_renewable.product == product
|
assert auto_renewable.product == product
|
||||||
assert auto_renewable.finished == self.finished
|
assert auto_renewable.finished == self.finished
|
||||||
|
|
||||||
|
@ -51,9 +50,9 @@ class TestAutoRenewable:
|
||||||
assert auto_renewable.order_id == self.order_id
|
assert auto_renewable.order_id == self.order_id
|
||||||
|
|
||||||
def test_equality(self, product):
|
def test_equality(self, product):
|
||||||
a = AutoRenewable(self.expires, self.vendor, self.vendor_help_url, self.product_id, product, self.finished)
|
a = AutoRenewable(self.expires, self.vendor, self.vendor_help_url, product, self.finished)
|
||||||
b = AutoRenewable(self.expires, '', self.vendor_help_url, '', product, self.finished)
|
b = AutoRenewable(self.expires, '', self.vendor_help_url, None, self.finished)
|
||||||
c = AutoRenewable(self.expires, self.vendor, self.vendor_help_url, self.product_id, product, self.finished)
|
c = AutoRenewable(self.expires, self.vendor, self.vendor_help_url, product, self.finished)
|
||||||
|
|
||||||
assert a != b
|
assert a != b
|
||||||
assert hash(a) != hash(b)
|
assert hash(a) != hash(b)
|
||||||
|
|
|
@ -25,9 +25,10 @@ class AutoRenewable(YandexMusicObject):
|
||||||
vendor (:obj:`str`): Продавец.
|
vendor (:obj:`str`): Продавец.
|
||||||
vendor_help_url (:obj:`str`): Ссылка на страницу помощи продавца.
|
vendor_help_url (:obj:`str`): Ссылка на страницу помощи продавца.
|
||||||
product_id (:obj:`str`): Уникальный идентификатор продукта.
|
product_id (:obj:`str`): Уникальный идентификатор продукта.
|
||||||
product (:obj:`yandex_music.Product`): Объект класса :class:`yandex_music.Product` представляющий продукт.
|
|
||||||
order_id (:obj:`int`): Уникальный идентификатор заказа.
|
|
||||||
finished (:obj:`bool`): Завершенность автопродления.
|
finished (:obj:`bool`): Завершенность автопродления.
|
||||||
|
product (:obj:`yandex_music.Product`, optional): Объект класса :class:`yandex_music.Product` представляющий
|
||||||
|
продукт.
|
||||||
|
order_id (:obj:`int`): Уникальный идентификатор заказа.
|
||||||
client (:obj:`yandex_music.Client`, optional): Объект класса :class:`yandex_music.Client` представляющий клиент
|
client (:obj:`yandex_music.Client`, optional): Объект класса :class:`yandex_music.Client` представляющий клиент
|
||||||
Yandex Music.
|
Yandex Music.
|
||||||
**kwargs: Произвольные ключевые аргументы полученные от API.
|
**kwargs: Произвольные ключевые аргументы полученные от API.
|
||||||
|
@ -37,23 +38,23 @@ class AutoRenewable(YandexMusicObject):
|
||||||
expires: str,
|
expires: str,
|
||||||
vendor: str,
|
vendor: str,
|
||||||
vendor_help_url: str,
|
vendor_help_url: str,
|
||||||
product_id: str,
|
|
||||||
product: Optional['Product'],
|
product: Optional['Product'],
|
||||||
finished: bool,
|
finished: bool,
|
||||||
|
product_id: Optional[str] = None,
|
||||||
order_id: Optional[int] = None,
|
order_id: Optional[int] = None,
|
||||||
client: Optional['Client'] = None,
|
client: Optional['Client'] = None,
|
||||||
**kwargs) -> None:
|
**kwargs) -> None:
|
||||||
self.expires = expires
|
self.expires = expires
|
||||||
self.vendor = vendor
|
self.vendor = vendor
|
||||||
self.vendor_help_url = vendor_help_url
|
self.vendor_help_url = vendor_help_url
|
||||||
self.product_id = product_id
|
|
||||||
self.product = product
|
self.product = product
|
||||||
self.finished = finished
|
self.finished = finished
|
||||||
|
|
||||||
|
self.product_id = product_id
|
||||||
self.order_id = order_id
|
self.order_id = order_id
|
||||||
|
|
||||||
self.client = client
|
self.client = client
|
||||||
self._id_attrs = (self.expires, self.vendor, self.vendor_help_url, self.product_id, self.product, self.finished)
|
self._id_attrs = (self.expires, self.vendor, self.vendor_help_url, self.product, self.finished)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def de_json(cls, data: dict, client: 'Client') -> Optional['AutoRenewable']:
|
def de_json(cls, data: dict, client: 'Client') -> Optional['AutoRenewable']:
|
||||||
|
|
読み込み中…
新しいイシューから参照