Fix get(_input)_users in ChatAction with no service msg

This commit is contained in:
Lonami Exo
2020-02-24 13:06:21 +01:00
parent 0814a20ec4
commit 9a86447b6e
5 changed files with 84 additions and 4 deletions

View File

@@ -0,0 +1,67 @@
import pytest
from telethon import TelegramClient, events, types, utils
def get_client():
return TelegramClient(None, 1, '1')
def get_user_456():
return types.User(
id=456,
access_hash=789,
first_name='User 123'
)
@pytest.mark.asyncio
async def test_get_input_users_no_action_message_no_entities():
event = events.ChatAction.build(types.UpdateChatParticipantDelete(
chat_id=123,
user_id=456,
version=1
))
event._set_client(get_client())
assert await event.get_input_users() == []
@pytest.mark.asyncio
async def test_get_input_users_no_action_message():
user = get_user_456()
event = events.ChatAction.build(types.UpdateChatParticipantDelete(
chat_id=123,
user_id=456,
version=1
))
event._set_client(get_client())
event._entities[user.id] = user
assert await event.get_input_users() == [utils.get_input_peer(user)]
@pytest.mark.asyncio
async def test_get_users_no_action_message_no_entities():
event = events.ChatAction.build(types.UpdateChatParticipantDelete(
chat_id=123,
user_id=456,
version=1
))
event._set_client(get_client())
assert await event.get_users() == []
@pytest.mark.asyncio
async def test_get_users_no_action_message():
user = get_user_456()
event = events.ChatAction.build(types.UpdateChatParticipantDelete(
chat_id=123,
user_id=456,
version=1
))
event._set_client(get_client())
event._entities[user.id] = user
assert await event.get_users() == [user]