예제 #1
0
    def test_de_json(self, bot, time):
        json_dict = {
            'chat': self.chat.to_dict(),
            'from': self.from_user.to_dict(),
            'date': to_timestamp(time),
        }
        chat_join_request = ChatJoinRequest.de_json(json_dict, bot)

        assert chat_join_request.chat == self.chat
        assert chat_join_request.from_user == self.from_user
        assert pytest.approx(chat_join_request.date == time)
        assert to_timestamp(chat_join_request.date) == to_timestamp(time)

        json_dict.update({
            'bio': self.bio,
            'invite_link': self.invite_link.to_dict()
        })
        chat_join_request = ChatJoinRequest.de_json(json_dict, bot)

        assert chat_join_request.chat == self.chat
        assert chat_join_request.from_user == self.from_user
        assert pytest.approx(chat_join_request.date == time)
        assert to_timestamp(chat_join_request.date) == to_timestamp(time)
        assert chat_join_request.bio == self.bio
        assert chat_join_request.invite_link == self.invite_link
예제 #2
0
    def de_json(cls, data: Optional[JSONDict],
                bot: 'Bot') -> Optional['Update']:
        """See :meth:`telegram.TelegramObject.de_json`."""
        data = cls._parse_data(data)

        if not data:
            return None

        data['message'] = Message.de_json(data.get('message'), bot)
        data['edited_message'] = Message.de_json(data.get('edited_message'),
                                                 bot)
        data['inline_query'] = InlineQuery.de_json(data.get('inline_query'),
                                                   bot)
        data['chosen_inline_result'] = ChosenInlineResult.de_json(
            data.get('chosen_inline_result'), bot)
        data['callback_query'] = CallbackQuery.de_json(
            data.get('callback_query'), bot)
        data['shipping_query'] = ShippingQuery.de_json(
            data.get('shipping_query'), bot)
        data['pre_checkout_query'] = PreCheckoutQuery.de_json(
            data.get('pre_checkout_query'), bot)
        data['channel_post'] = Message.de_json(data.get('channel_post'), bot)
        data['edited_channel_post'] = Message.de_json(
            data.get('edited_channel_post'), bot)
        data['poll'] = Poll.de_json(data.get('poll'), bot)
        data['poll_answer'] = PollAnswer.de_json(data.get('poll_answer'), bot)
        data['my_chat_member'] = ChatMemberUpdated.de_json(
            data.get('my_chat_member'), bot)
        data['chat_member'] = ChatMemberUpdated.de_json(
            data.get('chat_member'), bot)
        data['chat_join_request'] = ChatJoinRequest.de_json(
            data.get('chat_join_request'), bot)

        return cls(**data)
예제 #3
0
def chat_join_request(bot, time):
    return ChatJoinRequest(
        chat=TestChatJoinRequest.chat,
        from_user=TestChatJoinRequest.from_user,
        date=time,
        bio=TestChatJoinRequest.bio,
        invite_link=TestChatJoinRequest.invite_link,
        bot=bot,
    )
예제 #4
0
    def test_equality(self, chat_join_request, time):
        a = chat_join_request
        b = ChatJoinRequest(self.chat, self.from_user, time)
        c = ChatJoinRequest(self.chat, self.from_user, time, bio='bio')
        d = ChatJoinRequest(self.chat, self.from_user, time + datetime.timedelta(1))
        e = ChatJoinRequest(self.chat, User(-1, 'last_name', True), time)
        f = User(456, '', False)

        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)

        assert a != f
        assert hash(a) != hash(f)
def chat_join_request(time, bot):
    return ChatJoinRequest(
        chat=Chat(1, Chat.SUPERGROUP),
        from_user=User(2, 'first_name', False),
        date=time,
        bio='bio',
        invite_link=ChatInviteLink(
            'https://invite.link',
            User(42, 'creator', False),
            name='InviteLink',
            is_revoked=False,
            is_primary=False,
        ),
        bot=bot,
    )
예제 #6
0
def chat_join_request(time, bot):
    return ChatJoinRequest(
        chat=Chat(1, Chat.SUPERGROUP),
        from_user=User(2, "first_name", False),
        date=time,
        bio="bio",
        invite_link=ChatInviteLink(
            "https://invite.link",
            User(42, "creator", False),
            creates_join_request=False,
            name="InviteLink",
            is_revoked=False,
            is_primary=False,
        ),
        bot=bot,
    )
예제 #7
0
message = Message(1,
                  None,
                  Chat(1, ''),
                  from_user=User(1, '', False),
                  text='Text')
chat_member_updated = ChatMemberUpdated(
    Chat(1, 'chat'),
    User(1, '', False),
    from_timestamp(int(time.time())),
    ChatMember(User(1, '', False), ChatMember.CREATOR),
    ChatMember(User(1, '', False), ChatMember.CREATOR),
)

chat_join_request = ChatJoinRequest(
    chat=Chat(1, Chat.SUPERGROUP),
    from_user=User(1, 'first_name', False),
    date=from_timestamp(int(time.time())),
    bio='bio',
)

params = [
    {
        'message': message
    },
    {
        'edited_message': message
    },
    {
        'callback_query':
        CallbackQuery(1, User(1, '', False), 'chat', message=message)
    },
    {