def test_equality(self): a = OrderInfo( 'name', 'number', 'mail', ShippingAddress('GB', '', 'London', '12 Grimmauld Place', '', 'WC1')) b = OrderInfo( 'name', 'number', 'mail', ShippingAddress('GB', '', 'London', '12 Grimmauld Place', '', 'WC1')) c = OrderInfo( 'name', 'number', 'mail', ShippingAddress('GB', '', 'London', '13 Grimmauld Place', '', 'WC1')) d = OrderInfo( 'name', 'number', 'e-mail', ShippingAddress('GB', '', 'London', '12 Grimmauld Place', '', 'WC1')) e = ShippingAddress('GB', '', 'London', '12 Grimmauld Place', '', 'WC1') assert a == b assert hash(a) == hash(b) assert a != c assert hash(a) != hash(c) assert a != d assert hash(a) != hash(d) assert a != e assert hash(a) != hash(e)
def order_info(): return OrderInfo( TestOrderInfo.name, TestOrderInfo.phone_number, TestOrderInfo.email, TestOrderInfo.shipping_address, )
def de_json(cls, data, bot): if not data: return None data = super(SuccessfulPayment, cls).de_json(data, bot) data['order_info'] = OrderInfo.de_json(data.get('order_info'), bot) return cls(**data)
def de_json(cls, data: Optional[JSONDict], bot: 'Bot') -> Optional['SuccessfulPayment']: data = cls.parse_data(data) if not data: return None data['order_info'] = OrderInfo.de_json(data.get('order_info'), bot) return cls(**data)
def test_equality(self): a = OrderInfo( "name", "number", "mail", ShippingAddress("GB", "", "London", "12 Grimmauld Place", "", "WC1"), ) b = OrderInfo( "name", "number", "mail", ShippingAddress("GB", "", "London", "12 Grimmauld Place", "", "WC1"), ) c = OrderInfo( "name", "number", "mail", ShippingAddress("GB", "", "London", "13 Grimmauld Place", "", "WC1"), ) d = OrderInfo( "name", "number", "e-mail", ShippingAddress("GB", "", "London", "12 Grimmauld Place", "", "WC1"), ) e = ShippingAddress("GB", "", "London", "12 Grimmauld Place", "", "WC1") assert a == b assert hash(a) == hash(b) assert a != c assert hash(a) != hash(c) assert a != d assert hash(a) != hash(d) assert a != e assert hash(a) != hash(e)
def de_json(cls, data, bot): if not data: return None data = super(PreCheckoutQuery, cls).de_json(data, bot) data['from_user'] = User.de_json(data.pop('from'), bot) data['order_info'] = OrderInfo.de_json(data.get('order_info'), bot) return cls(**data)
def de_json(cls, data: Optional[JSONDict], bot: 'Bot') -> Optional['SuccessfulPayment']: """See :meth:`telegram.TelegramObject.de_json`.""" data = cls._parse_data(data) if not data: return None data['order_info'] = OrderInfo.de_json(data.get('order_info'), bot) return cls(**data)
def de_json(cls, data: Optional[JSONDict], bot: 'Bot') -> Optional['PreCheckoutQuery']: data = cls.parse_data(data) if not data: return None data['from_user'] = User.de_json(data.pop('from'), bot) data['order_info'] = OrderInfo.de_json(data.get('order_info'), bot) return cls(bot=bot, **data)
def de_json(cls, data, bot): if not data: return None data = super().de_json(data, bot) data['from_user'] = User.de_json(data.pop('from'), bot) data['order_info'] = OrderInfo.de_json(data.get('order_info'), bot) return cls(bot=bot, **data)
def de_json(cls, data: Optional[JSONDict], bot: 'Bot') -> Optional['PreCheckoutQuery']: """See :meth:`telegram.TelegramObject.de_json`.""" data = cls._parse_data(data) if not data: return None data['from_user'] = User.de_json(data.pop('from'), bot) data['order_info'] = OrderInfo.de_json(data.get('order_info'), bot) return cls(bot=bot, **data)
def test_de_json(self, bot): json_dict = { "name": TestOrderInfo.name, "phone_number": TestOrderInfo.phone_number, "email": TestOrderInfo.email, "shipping_address": TestOrderInfo.shipping_address.to_dict(), } order_info = OrderInfo.de_json(json_dict, bot) assert order_info.name == self.name assert order_info.phone_number == self.phone_number assert order_info.email == self.email assert order_info.shipping_address == self.shipping_address
def test_de_json(self, bot): json_dict = { 'name': TestOrderInfo.name, 'phone_number': TestOrderInfo.phone_number, 'email': TestOrderInfo.email, 'shipping_address': TestOrderInfo.shipping_address.to_dict() } order_info = OrderInfo.de_json(json_dict, bot) assert order_info.name == self.name assert order_info.phone_number == self.phone_number assert order_info.email == self.email assert order_info.shipping_address == self.shipping_address
def de_json(data, bot): """ Args: data (dict): bot (telegram.Bot): Returns: telegram.SuccessfulPayment: """ if not data: return None data = super(SuccessfulPayment, SuccessfulPayment).de_json(data, bot) data['order_info'] = OrderInfo.de_json(data.get('order_info'), bot) return SuccessfulPayment(**data)
def de_json(data, bot): """ Args: data (dict): bot (telegram.Bot): Returns: telegram.PreCheckoutQuery: """ if not data: return None data = super(PreCheckoutQuery, PreCheckoutQuery).de_json(data, bot) data['from_user'] = User.de_json(data.pop('from'), bot) data['order_info'] = OrderInfo.de_json(data.get('order_info'), bot) return PreCheckoutQuery(**data)
class TestPreCheckoutQuery(object): id = 5 invoice_payload = 'invoice_payload' shipping_option_id = 'shipping_option_id' currency = 'EUR' total_amount = 100 from_user = User(0, '', False) order_info = OrderInfo() def test_de_json(self, bot): json_dict = { 'id': self.id, 'invoice_payload': self.invoice_payload, 'shipping_option_id': self.shipping_option_id, 'currency': self.currency, 'total_amount': self.total_amount, 'from': self.from_user.to_dict(), 'order_info': self.order_info.to_dict() } pre_checkout_query = PreCheckoutQuery.de_json(json_dict, bot) assert pre_checkout_query.bot is bot assert pre_checkout_query.id == self.id assert pre_checkout_query.invoice_payload == self.invoice_payload assert pre_checkout_query.shipping_option_id == self.shipping_option_id assert pre_checkout_query.currency == self.currency assert pre_checkout_query.from_user == self.from_user assert pre_checkout_query.order_info == self.order_info def test_to_dict(self, pre_checkout_query): pre_checkout_query_dict = pre_checkout_query.to_dict() assert isinstance(pre_checkout_query_dict, dict) assert pre_checkout_query_dict['id'] == pre_checkout_query.id assert pre_checkout_query_dict[ 'invoice_payload'] == pre_checkout_query.invoice_payload assert (pre_checkout_query_dict['shipping_option_id'] == pre_checkout_query.shipping_option_id) assert pre_checkout_query_dict[ 'currency'] == pre_checkout_query.currency assert pre_checkout_query_dict[ 'from'] == pre_checkout_query.from_user.to_dict() assert pre_checkout_query_dict[ 'order_info'] == pre_checkout_query.order_info.to_dict() def test_answer(self, monkeypatch, pre_checkout_query): def test(*args, **kwargs): return args[1] == pre_checkout_query.id monkeypatch.setattr('telegram.Bot.answer_pre_checkout_query', test) assert pre_checkout_query.answer() def test_equality(self): a = PreCheckoutQuery(self.id, self.from_user, self.currency, self.total_amount, self.invoice_payload) b = PreCheckoutQuery(self.id, self.from_user, self.currency, self.total_amount, self.invoice_payload) c = PreCheckoutQuery(self.id, None, '', 0, '') d = PreCheckoutQuery(0, self.from_user, self.currency, self.total_amount, self.invoice_payload) e = Update(self.id) assert a == b assert hash(a) == hash(b) assert a is not b assert a == c assert hash(a) == hash(c) assert a != d assert hash(a) != hash(d) assert a != e assert hash(a) != hash(e)
class TestSuccessfulPayment: invoice_payload = 'invoice_payload' shipping_option_id = 'shipping_option_id' currency = 'EUR' total_amount = 100 order_info = OrderInfo() telegram_payment_charge_id = 'telegram_payment_charge_id' provider_payment_charge_id = 'provider_payment_charge_id' def test_slot_behaviour(self, successful_payment, recwarn, mro_slots): inst = successful_payment for attr in inst.__slots__: assert getattr(inst, attr, 'err') != 'err', f"got extra slot '{attr}'" assert not inst.__dict__, f"got missing slot(s): {inst.__dict__}" assert len(mro_slots(inst)) == len(set(mro_slots(inst))), "duplicate slot" inst.custom, inst.currency = 'should give warning', self.currency assert len(recwarn) == 1 and 'custom' in str(recwarn[0].message), recwarn.list def test_de_json(self, bot): json_dict = { 'invoice_payload': self.invoice_payload, 'shipping_option_id': self.shipping_option_id, 'currency': self.currency, 'total_amount': self.total_amount, 'order_info': self.order_info.to_dict(), 'telegram_payment_charge_id': self.telegram_payment_charge_id, 'provider_payment_charge_id': self.provider_payment_charge_id, } successful_payment = SuccessfulPayment.de_json(json_dict, bot) assert successful_payment.invoice_payload == self.invoice_payload assert successful_payment.shipping_option_id == self.shipping_option_id assert successful_payment.currency == self.currency assert successful_payment.order_info == self.order_info assert successful_payment.telegram_payment_charge_id == self.telegram_payment_charge_id assert successful_payment.provider_payment_charge_id == self.provider_payment_charge_id def test_to_dict(self, successful_payment): successful_payment_dict = successful_payment.to_dict() assert isinstance(successful_payment_dict, dict) assert successful_payment_dict['invoice_payload'] == successful_payment.invoice_payload assert ( successful_payment_dict['shipping_option_id'] == successful_payment.shipping_option_id ) assert successful_payment_dict['currency'] == successful_payment.currency assert successful_payment_dict['order_info'] == successful_payment.order_info.to_dict() assert ( successful_payment_dict['telegram_payment_charge_id'] == successful_payment.telegram_payment_charge_id ) assert ( successful_payment_dict['provider_payment_charge_id'] == successful_payment.provider_payment_charge_id ) def test_equality(self): a = SuccessfulPayment( self.currency, self.total_amount, self.invoice_payload, self.telegram_payment_charge_id, self.provider_payment_charge_id, ) b = SuccessfulPayment( self.currency, self.total_amount, self.invoice_payload, self.telegram_payment_charge_id, self.provider_payment_charge_id, ) c = SuccessfulPayment( '', 0, '', self.telegram_payment_charge_id, self.provider_payment_charge_id ) d = SuccessfulPayment( self.currency, self.total_amount, self.invoice_payload, self.telegram_payment_charge_id, '', ) assert a == b assert hash(a) == hash(b) assert a is not b assert a == c assert hash(a) == hash(c) assert a != d assert hash(a) != hash(d)
class TestPreCheckoutQuery: id_ = 5 invoice_payload = "invoice_payload" shipping_option_id = "shipping_option_id" currency = "EUR" total_amount = 100 from_user = User(0, "", False) order_info = OrderInfo() def test_slot_behaviour(self, pre_checkout_query, mro_slots): inst = pre_checkout_query for attr in inst.__slots__: assert getattr(inst, attr, "err") != "err", f"got extra slot '{attr}'" assert len(mro_slots(inst)) == len(set(mro_slots(inst))), "duplicate slot" def test_de_json(self, bot): json_dict = { "id": self.id_, "invoice_payload": self.invoice_payload, "shipping_option_id": self.shipping_option_id, "currency": self.currency, "total_amount": self.total_amount, "from": self.from_user.to_dict(), "order_info": self.order_info.to_dict(), } pre_checkout_query = PreCheckoutQuery.de_json(json_dict, bot) assert pre_checkout_query.get_bot() is bot assert pre_checkout_query.id == self.id_ assert pre_checkout_query.invoice_payload == self.invoice_payload assert pre_checkout_query.shipping_option_id == self.shipping_option_id assert pre_checkout_query.currency == self.currency assert pre_checkout_query.from_user == self.from_user assert pre_checkout_query.order_info == self.order_info def test_to_dict(self, pre_checkout_query): pre_checkout_query_dict = pre_checkout_query.to_dict() assert isinstance(pre_checkout_query_dict, dict) assert pre_checkout_query_dict["id"] == pre_checkout_query.id assert pre_checkout_query_dict["invoice_payload"] == pre_checkout_query.invoice_payload assert ( pre_checkout_query_dict["shipping_option_id"] == pre_checkout_query.shipping_option_id ) assert pre_checkout_query_dict["currency"] == pre_checkout_query.currency assert pre_checkout_query_dict["from"] == pre_checkout_query.from_user.to_dict() assert pre_checkout_query_dict["order_info"] == pre_checkout_query.order_info.to_dict() async def test_answer(self, monkeypatch, pre_checkout_query): async def make_assertion(*_, **kwargs): return kwargs["pre_checkout_query_id"] == pre_checkout_query.id assert check_shortcut_signature( PreCheckoutQuery.answer, Bot.answer_pre_checkout_query, ["pre_checkout_query_id"], [] ) assert await check_shortcut_call( pre_checkout_query.answer, pre_checkout_query.get_bot(), "answer_pre_checkout_query", ) assert await check_defaults_handling( pre_checkout_query.answer, pre_checkout_query.get_bot() ) monkeypatch.setattr( pre_checkout_query.get_bot(), "answer_pre_checkout_query", make_assertion ) assert await pre_checkout_query.answer(ok=True) def test_equality(self): a = PreCheckoutQuery( self.id_, self.from_user, self.currency, self.total_amount, self.invoice_payload ) b = PreCheckoutQuery( self.id_, self.from_user, self.currency, self.total_amount, self.invoice_payload ) c = PreCheckoutQuery(self.id_, None, "", 0, "") d = PreCheckoutQuery( 0, self.from_user, self.currency, self.total_amount, self.invoice_payload ) e = Update(self.id_) assert a == b assert hash(a) == hash(b) assert a is not b assert a == c assert hash(a) == hash(c) assert a != d assert hash(a) != hash(d) assert a != e assert hash(a) != hash(e)
class TestSuccessfulPayment: invoice_payload = "invoice_payload" shipping_option_id = "shipping_option_id" currency = "EUR" total_amount = 100 order_info = OrderInfo() telegram_payment_charge_id = "telegram_payment_charge_id" provider_payment_charge_id = "provider_payment_charge_id" def test_slot_behaviour(self, successful_payment, mro_slots): inst = successful_payment for attr in inst.__slots__: assert getattr(inst, attr, "err") != "err", f"got extra slot '{attr}'" assert len(mro_slots(inst)) == len(set( mro_slots(inst))), "duplicate slot" def test_de_json(self, bot): json_dict = { "invoice_payload": self.invoice_payload, "shipping_option_id": self.shipping_option_id, "currency": self.currency, "total_amount": self.total_amount, "order_info": self.order_info.to_dict(), "telegram_payment_charge_id": self.telegram_payment_charge_id, "provider_payment_charge_id": self.provider_payment_charge_id, } successful_payment = SuccessfulPayment.de_json(json_dict, bot) assert successful_payment.invoice_payload == self.invoice_payload assert successful_payment.shipping_option_id == self.shipping_option_id assert successful_payment.currency == self.currency assert successful_payment.order_info == self.order_info assert successful_payment.telegram_payment_charge_id == self.telegram_payment_charge_id assert successful_payment.provider_payment_charge_id == self.provider_payment_charge_id def test_to_dict(self, successful_payment): successful_payment_dict = successful_payment.to_dict() assert isinstance(successful_payment_dict, dict) assert successful_payment_dict[ "invoice_payload"] == successful_payment.invoice_payload assert (successful_payment_dict["shipping_option_id"] == successful_payment.shipping_option_id) assert successful_payment_dict[ "currency"] == successful_payment.currency assert successful_payment_dict[ "order_info"] == successful_payment.order_info.to_dict() assert (successful_payment_dict["telegram_payment_charge_id"] == successful_payment.telegram_payment_charge_id) assert (successful_payment_dict["provider_payment_charge_id"] == successful_payment.provider_payment_charge_id) def test_equality(self): a = SuccessfulPayment( self.currency, self.total_amount, self.invoice_payload, self.telegram_payment_charge_id, self.provider_payment_charge_id, ) b = SuccessfulPayment( self.currency, self.total_amount, self.invoice_payload, self.telegram_payment_charge_id, self.provider_payment_charge_id, ) c = SuccessfulPayment("", 0, "", self.telegram_payment_charge_id, self.provider_payment_charge_id) d = SuccessfulPayment( self.currency, self.total_amount, self.invoice_payload, self.telegram_payment_charge_id, "", ) assert a == b assert hash(a) == hash(b) assert a is not b assert a == c assert hash(a) == hash(c) assert a != d assert hash(a) != hash(d)
class TestSuccessfulPayment(object): invoice_payload = 'invoice_payload' shipping_option_id = 'shipping_option_id' currency = 'EUR' total_amount = 100 order_info = OrderInfo() telegram_payment_charge_id = 'telegram_payment_charge_id' provider_payment_charge_id = 'provider_payment_charge_id' def test_de_json(self, bot): json_dict = { 'invoice_payload': self.invoice_payload, 'shipping_option_id': self.shipping_option_id, 'currency': self.currency, 'total_amount': self.total_amount, 'order_info': self.order_info.to_dict(), 'telegram_payment_charge_id': self.telegram_payment_charge_id, 'provider_payment_charge_id': self.provider_payment_charge_id } successful_payment = SuccessfulPayment.de_json(json_dict, bot) assert successful_payment.invoice_payload == self.invoice_payload assert successful_payment.shipping_option_id == self.shipping_option_id assert successful_payment.currency == self.currency assert successful_payment.order_info == self.order_info assert successful_payment.telegram_payment_charge_id == self.telegram_payment_charge_id assert successful_payment.provider_payment_charge_id == self.provider_payment_charge_id @staticmethod def test_to_dict(successful_payment): successful_payment_dict = successful_payment.to_dict() assert isinstance(successful_payment_dict, dict) assert successful_payment_dict[ 'invoice_payload'] == successful_payment.invoice_payload assert (successful_payment_dict['shipping_option_id'] == successful_payment.shipping_option_id) assert successful_payment_dict[ 'currency'] == successful_payment.currency assert successful_payment_dict[ 'order_info'] == successful_payment.order_info.to_dict() assert (successful_payment_dict['telegram_payment_charge_id'] == successful_payment.telegram_payment_charge_id) assert (successful_payment_dict['provider_payment_charge_id'] == successful_payment.provider_payment_charge_id) def test_equality(self): a = SuccessfulPayment(self.currency, self.total_amount, self.invoice_payload, self.telegram_payment_charge_id, self.provider_payment_charge_id) b = SuccessfulPayment(self.currency, self.total_amount, self.invoice_payload, self.telegram_payment_charge_id, self.provider_payment_charge_id) c = SuccessfulPayment('', 0, '', self.telegram_payment_charge_id, self.provider_payment_charge_id) d = SuccessfulPayment(self.currency, self.total_amount, self.invoice_payload, self.telegram_payment_charge_id, '') assert a == b assert hash(a) == hash(b) assert a is not b assert a == c assert hash(a) == hash(c) assert a != d assert hash(a) != hash(d)
class TestPreCheckoutQuery: id_ = 5 invoice_payload = 'invoice_payload' shipping_option_id = 'shipping_option_id' currency = 'EUR' total_amount = 100 from_user = User(0, '', False) order_info = OrderInfo() def test_slot_behaviour(self, pre_checkout_query, recwarn, mro_slots): inst = pre_checkout_query for attr in inst.__slots__: assert getattr(inst, attr, 'err') != 'err', f"got extra slot '{attr}'" assert not inst.__dict__, f"got missing slot(s): {inst.__dict__}" assert len(mro_slots(inst)) == len(set(mro_slots(inst))), "duplicate slot" inst.custom, inst.id = 'should give warning', self.id_ assert len(recwarn) == 1 and 'custom' in str(recwarn[0].message), recwarn.list def test_de_json(self, bot): json_dict = { 'id': self.id_, 'invoice_payload': self.invoice_payload, 'shipping_option_id': self.shipping_option_id, 'currency': self.currency, 'total_amount': self.total_amount, 'from': self.from_user.to_dict(), 'order_info': self.order_info.to_dict(), } pre_checkout_query = PreCheckoutQuery.de_json(json_dict, bot) assert pre_checkout_query.bot is bot assert pre_checkout_query.id == self.id_ assert pre_checkout_query.invoice_payload == self.invoice_payload assert pre_checkout_query.shipping_option_id == self.shipping_option_id assert pre_checkout_query.currency == self.currency assert pre_checkout_query.from_user == self.from_user assert pre_checkout_query.order_info == self.order_info def test_to_dict(self, pre_checkout_query): pre_checkout_query_dict = pre_checkout_query.to_dict() assert isinstance(pre_checkout_query_dict, dict) assert pre_checkout_query_dict['id'] == pre_checkout_query.id assert pre_checkout_query_dict['invoice_payload'] == pre_checkout_query.invoice_payload assert ( pre_checkout_query_dict['shipping_option_id'] == pre_checkout_query.shipping_option_id ) assert pre_checkout_query_dict['currency'] == pre_checkout_query.currency assert pre_checkout_query_dict['from'] == pre_checkout_query.from_user.to_dict() assert pre_checkout_query_dict['order_info'] == pre_checkout_query.order_info.to_dict() def test_answer(self, monkeypatch, pre_checkout_query): def make_assertion(*_, **kwargs): return kwargs['pre_checkout_query_id'] == pre_checkout_query.id assert check_shortcut_signature( PreCheckoutQuery.answer, Bot.answer_pre_checkout_query, ['pre_checkout_query_id'], [] ) assert check_shortcut_call( pre_checkout_query.answer, pre_checkout_query.bot, 'answer_pre_checkout_query', ) assert check_defaults_handling(pre_checkout_query.answer, pre_checkout_query.bot) monkeypatch.setattr(pre_checkout_query.bot, 'answer_pre_checkout_query', make_assertion) assert pre_checkout_query.answer(ok=True) def test_equality(self): a = PreCheckoutQuery( self.id_, self.from_user, self.currency, self.total_amount, self.invoice_payload ) b = PreCheckoutQuery( self.id_, self.from_user, self.currency, self.total_amount, self.invoice_payload ) c = PreCheckoutQuery(self.id_, None, '', 0, '') d = PreCheckoutQuery( 0, self.from_user, self.currency, self.total_amount, self.invoice_payload ) e = Update(self.id_) assert a == b assert hash(a) == hash(b) assert a is not b assert a == c assert hash(a) == hash(c) assert a != d assert hash(a) != hash(d) assert a != e assert hash(a) != hash(e)
class TestPreCheckoutQuery: id_ = 5 invoice_payload = 'invoice_payload' shipping_option_id = 'shipping_option_id' currency = 'EUR' total_amount = 100 from_user = User(0, '', False) order_info = OrderInfo() def test_de_json(self, bot): json_dict = { 'id': self.id_, 'invoice_payload': self.invoice_payload, 'shipping_option_id': self.shipping_option_id, 'currency': self.currency, 'total_amount': self.total_amount, 'from': self.from_user.to_dict(), 'order_info': self.order_info.to_dict(), } pre_checkout_query = PreCheckoutQuery.de_json(json_dict, bot) assert pre_checkout_query.bot is bot assert pre_checkout_query.id == self.id_ assert pre_checkout_query.invoice_payload == self.invoice_payload assert pre_checkout_query.shipping_option_id == self.shipping_option_id assert pre_checkout_query.currency == self.currency assert pre_checkout_query.from_user == self.from_user assert pre_checkout_query.order_info == self.order_info def test_to_dict(self, pre_checkout_query): pre_checkout_query_dict = pre_checkout_query.to_dict() assert isinstance(pre_checkout_query_dict, dict) assert pre_checkout_query_dict['id'] == pre_checkout_query.id assert pre_checkout_query_dict[ 'invoice_payload'] == pre_checkout_query.invoice_payload assert (pre_checkout_query_dict['shipping_option_id'] == pre_checkout_query.shipping_option_id) assert pre_checkout_query_dict[ 'currency'] == pre_checkout_query.currency assert pre_checkout_query_dict[ 'from'] == pre_checkout_query.from_user.to_dict() assert pre_checkout_query_dict[ 'order_info'] == pre_checkout_query.order_info.to_dict() def test_answer(self, monkeypatch, pre_checkout_query): def make_assertion(*_, **kwargs): return kwargs['pre_checkout_query_id'] == pre_checkout_query.id assert check_shortcut_signature(PreCheckoutQuery.answer, Bot.answer_pre_checkout_query, ['pre_checkout_query_id'], []) assert check_shortcut_call( pre_checkout_query.answer, pre_checkout_query.bot, 'answer_pre_checkout_query', ) assert check_defaults_handling(pre_checkout_query.answer, pre_checkout_query.bot) monkeypatch.setattr(pre_checkout_query.bot, 'answer_pre_checkout_query', make_assertion) assert pre_checkout_query.answer(ok=True) def test_equality(self): a = PreCheckoutQuery(self.id_, self.from_user, self.currency, self.total_amount, self.invoice_payload) b = PreCheckoutQuery(self.id_, self.from_user, self.currency, self.total_amount, self.invoice_payload) c = PreCheckoutQuery(self.id_, None, '', 0, '') d = PreCheckoutQuery(0, self.from_user, self.currency, self.total_amount, self.invoice_payload) e = Update(self.id_) assert a == b assert hash(a) == hash(b) assert a is not b assert a == c assert hash(a) == hash(c) assert a != d assert hash(a) != hash(d) assert a != e assert hash(a) != hash(e)