def test_is_reply_to_bot_message_handler(self, mocker, fake_message_dict, fake_user_dict): fake_reply_message_dict = fake_message_dict.copy() bot = TululBot('TOKEN') bot_id = 12345 class FakeUser: def __init__(self, id): self.id = id bot.user = FakeUser(bot_id) mock_message_handler = mocker.patch.object(bot._telebot, 'message_handler', autospec=True) fake_user_dict['id'] = bot_id bot_message = 'Hah?' fake_message_dict['text'] = bot_message fake_message_dict['from'] = fake_user_dict fake_reply_message_dict['reply_to_message'] = fake_message_dict fake_reply_message = Message.from_dict(fake_reply_message_dict) @bot.message_handler(is_reply_to_bot=bot_message) def handle(message): pass args, kwargs = mock_message_handler.call_args assert len(args) == 0 assert len(kwargs) == 1 assert 'func' in kwargs func = kwargs['func'] assert func(fake_reply_message)
def test_create_is_reply_to_filter(self, mocker, fake_message_dict, fake_user_dict): fake_replied_message_dict = fake_message_dict.copy() fake_message = types.Message.de_json(fake_message_dict) fake_replied_message = types.Message.de_json(fake_replied_message_dict) bot_user = types.User.de_json(fake_user_dict) bot_message = 'Message text from bot goes here' fake_replied_message.text = bot_message fake_replied_message.from_user = bot_user fake_message.reply_to_message = fake_replied_message bot = TululBot('TOKEN') bot.user = bot_user assert bot.create_is_reply_to_filter(bot_message)(fake_message) assert not bot.create_is_reply_to_filter('foo bar')(fake_message)