Fixed code-coverage

This commit is contained in:
Alex Root Junior 2021-11-08 02:05:23 +02:00
parent b34934b3c7
commit 4ac1af9d5c
9 changed files with 73 additions and 24 deletions

View file

@ -69,4 +69,6 @@ class UserContextMiddleware(BaseMiddleware):
return event.my_chat_member.chat, event.my_chat_member.from_user
if event.chat_member:
return event.chat_member.chat, event.chat_member.from_user
if event.chat_join_request:
return event.chat_join_request.chat, event.chat_join_request.from_user
return None, None

View file

@ -5,9 +5,11 @@ from typing import TYPE_CHECKING, Optional
from pydantic import Field
from ..methods import ApproveChatJoinRequest, DeclineChatJoinRequest
from .base import TelegramObject
if TYPE_CHECKING:
from ..methods import ApproveChatJoinRequest, DeclineChatJoinRequest
if TYPE_CHECKING:
from .chat import Chat
from .chat_invite_link import ChatInviteLink
@ -36,6 +38,7 @@ class ChatJoinRequest(TelegramObject):
"""
Use this method to approve a chat join request.
"""
from ..methods import ApproveChatJoinRequest
return ApproveChatJoinRequest(
chat_id=self.chat.id,
@ -46,6 +49,8 @@ class ChatJoinRequest(TelegramObject):
"""
Use this method to decline a chat join request.
"""
from ..methods import DeclineChatJoinRequest
return DeclineChatJoinRequest(
chat_id=self.chat.id,
user_id=self.from_user.id,

View file

@ -1,22 +1,20 @@
import pytest
from aiogram.api.methods import ApproveChatJoinRequest, Request
from aiogram.methods import ApproveChatJoinRequest, Request
from tests.mocked_bot import MockedBot
@pytest.mark.skip
class TestApproveChatJoinRequest:
@pytest.mark.asyncio
async def test_method(self, bot: MockedBot):
prepare_result = bot.add_result_for(ApproveChatJoinRequest, ok=True, result=None)
prepare_result = bot.add_result_for(ApproveChatJoinRequest, ok=True, result=True)
response: bool = await ApproveChatJoinRequest(
chat_id=...,
user_id=...,
chat_id=-42,
user_id=42,
)
request: Request = bot.get_request()
assert request.method == "approveChatJoinRequest"
# assert request.data == {}
assert response == prepare_result.result
@pytest.mark.asyncio
@ -24,10 +22,9 @@ class TestApproveChatJoinRequest:
prepare_result = bot.add_result_for(ApproveChatJoinRequest, ok=True, result=None)
response: bool = await bot.approve_chat_join_request(
chat_id=...,
user_id=...,
chat_id=-42,
user_id=42,
)
request: Request = bot.get_request()
assert request.method == "approveChatJoinRequest"
# assert request.data == {}
assert response == prepare_result.result

View file

@ -17,6 +17,7 @@ class TestCreateChatInviteLink:
creator=User(id=42, is_bot=False, first_name="User"),
is_primary=False,
is_revoked=False,
creates_join_request=False,
),
)
@ -37,6 +38,7 @@ class TestCreateChatInviteLink:
creator=User(id=42, is_bot=False, first_name="User"),
is_primary=False,
is_revoked=False,
creates_join_request=False,
),
)

View file

@ -1,33 +1,30 @@
import pytest
from aiogram.api.methods import DeclineChatJoinRequest, Request
from aiogram.methods import DeclineChatJoinRequest, Request
from tests.mocked_bot import MockedBot
@pytest.mark.skip
class TestDeclineChatJoinRequest:
@pytest.mark.asyncio
async def test_method(self, bot: MockedBot):
prepare_result = bot.add_result_for(DeclineChatJoinRequest, ok=True, result=None)
prepare_result = bot.add_result_for(DeclineChatJoinRequest, ok=True, result=True)
response: bool = await DeclineChatJoinRequest(
chat_id=...,
user_id=...,
chat_id=-42,
user_id=42,
)
request: Request = bot.get_request()
assert request.method == "declineChatJoinRequest"
# assert request.data == {}
assert response == prepare_result.result
@pytest.mark.asyncio
async def test_bot_method(self, bot: MockedBot):
prepare_result = bot.add_result_for(DeclineChatJoinRequest, ok=True, result=None)
prepare_result = bot.add_result_for(DeclineChatJoinRequest, ok=True, result=True)
response: bool = await bot.decline_chat_join_request(
chat_id=...,
user_id=...,
chat_id=-42,
user_id=42,
)
request: Request = bot.get_request()
assert request.method == "declineChatJoinRequest"
# assert request.data == {}
assert response == prepare_result.result

View file

@ -17,6 +17,7 @@ class TestEditChatInviteLink:
creator=User(id=42, is_bot=False, first_name="User"),
is_primary=False,
is_revoked=False,
creates_join_request=False,
),
)
@ -25,7 +26,6 @@ class TestEditChatInviteLink:
)
request: Request = bot.get_request()
assert request.method == "editChatInviteLink"
# assert request.data == {}
assert response == prepare_result.result
async def test_bot_method(self, bot: MockedBot):
@ -37,6 +37,7 @@ class TestEditChatInviteLink:
creator=User(id=42, is_bot=False, first_name="User"),
is_primary=False,
is_revoked=False,
creates_join_request=False,
),
)
@ -45,5 +46,4 @@ class TestEditChatInviteLink:
)
request: Request = bot.get_request()
assert request.method == "editChatInviteLink"
# assert request.data == {}
assert response == prepare_result.result

View file

@ -17,6 +17,7 @@ class TestRevokeChatInviteLink:
creator=User(id=42, is_bot=False, first_name="User"),
is_primary=False,
is_revoked=True,
creates_join_request=False,
),
)
@ -26,7 +27,6 @@ class TestRevokeChatInviteLink:
)
request: Request = bot.get_request()
assert request.method == "revokeChatInviteLink"
# assert request.data == {}
assert response == prepare_result.result
async def test_bot_method(self, bot: MockedBot):
@ -38,6 +38,7 @@ class TestRevokeChatInviteLink:
creator=User(id=42, is_bot=False, first_name="User"),
is_primary=False,
is_revoked=True,
creates_join_request=False,
),
)
@ -47,5 +48,4 @@ class TestRevokeChatInviteLink:
)
request: Request = bot.get_request()
assert request.method == "revokeChatInviteLink"
# assert request.data == {}
assert response == prepare_result.result

View file

@ -0,0 +1,32 @@
import datetime
from aiogram.methods import ApproveChatJoinRequest, DeclineChatJoinRequest
from aiogram.types import Chat, ChatJoinRequest, User
class TestChatJoinRequest:
def test_approve_alias(self):
chat_join_request = ChatJoinRequest(
chat=Chat(id=-42, type="supergroup"),
from_user=User(id=42, is_bot=False, first_name="Test"),
date=datetime.datetime.now(),
)
api_method = chat_join_request.approve()
assert isinstance(api_method, ApproveChatJoinRequest)
assert api_method.chat_id == chat_join_request.chat.id
assert api_method.user_id == chat_join_request.from_user.id
def test_decline_alias(self):
chat_join_request = ChatJoinRequest(
chat=Chat(id=-42, type="supergroup"),
from_user=User(id=42, is_bot=False, first_name="Test"),
date=datetime.datetime.now(),
)
api_method = chat_join_request.decline()
assert isinstance(api_method, DeclineChatJoinRequest)
assert api_method.chat_id == chat_join_request.chat.id
assert api_method.user_id == chat_join_request.from_user.id

View file

@ -15,6 +15,7 @@ from aiogram.methods import GetMe, GetUpdates, SendMessage
from aiogram.types import (
CallbackQuery,
Chat,
ChatJoinRequest,
ChatMemberMember,
ChatMemberUpdated,
ChosenInlineResult,
@ -418,6 +419,19 @@ class TestDispatcher:
True,
True,
),
pytest.param(
"chat_join_request",
Update(
update_id=42,
chat_join_request=ChatJoinRequest(
chat=Chat(id=42, type="private"),
from_user=User(id=42, is_bot=False, first_name="Test"),
date=datetime.datetime.now(),
),
),
True,
True,
),
],
)
async def test_listen_update(