mirror of
https://github.com/aiogram/aiogram.git
synced 2026-04-08 16:37:47 +00:00
fix: replace direct creation of Chat instances with usage of ChatFactory
This commit is contained in:
parent
23c0ed633f
commit
d04e220fbb
5 changed files with 15 additions and 14 deletions
|
|
@ -1,17 +1,13 @@
|
|||
import factory
|
||||
|
||||
from aiogram.api.types.chat_member import ChatMemberStatus
|
||||
from aiogram.api.types.chat_member import ChatMemberStatus, ChatMember
|
||||
from tests.factories.user import UserFactory
|
||||
|
||||
|
||||
class ChatMemberFactory(factory.Factory):
|
||||
class Meta:
|
||||
model = ChatMember
|
||||
|
||||
user = factory.SubFactory(UserFactory)
|
||||
|
||||
status = ChatMemberStatus.ADMINISTRATOR
|
||||
can_be_edited = False
|
||||
can_change_info = True
|
||||
can_delete_messages = True
|
||||
can_invite_users = True
|
||||
can_restrict_members = True
|
||||
can_pin_messages = True
|
||||
can_promote_members = False
|
||||
|
|
|
|||
|
|
@ -1,12 +1,16 @@
|
|||
import factory
|
||||
from datetime import datetime
|
||||
|
||||
from aiogram.api.types import Message
|
||||
from tests.factories import sequences
|
||||
from tests.factories.chat import ChatFactory
|
||||
from tests.factories.user import UserFactory
|
||||
|
||||
|
||||
class MessageFactory(factory.Factory):
|
||||
class Meta:
|
||||
model = Message
|
||||
|
||||
message_id = sequences.id_
|
||||
from_user = factory.SubFactory(UserFactory)
|
||||
chat = factory.SubFactory(ChatFactory)
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import pytest
|
|||
|
||||
from aiogram.api.methods import GetChatAdministrators, Request
|
||||
from aiogram.api.types import ChatMember, User
|
||||
from tests.factories.user import UserFactory
|
||||
from tests.mocked_bot import MockedBot
|
||||
|
||||
|
||||
|
|
@ -14,7 +15,7 @@ class TestGetChatAdministrators:
|
|||
GetChatAdministrators,
|
||||
ok=True,
|
||||
result=[
|
||||
ChatMember(user=User(id=42, is_bot=False, first_name="User"), status="creator")
|
||||
ChatMember(status="creator")
|
||||
],
|
||||
)
|
||||
|
||||
|
|
@ -29,7 +30,7 @@ class TestGetChatAdministrators:
|
|||
GetChatAdministrators,
|
||||
ok=True,
|
||||
result=[
|
||||
ChatMember(user=User(id=42, is_bot=False, first_name="User"), status="creator")
|
||||
ChatMember(status="creator")
|
||||
],
|
||||
)
|
||||
response: List[ChatMember] = await bot.get_chat_administrators(chat_id=-42)
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ class TestGetChatMember:
|
|||
@pytest.mark.asyncio
|
||||
async def test_method(self, bot: MockedBot):
|
||||
prepare_result = bot.add_result_for(
|
||||
GetChatMember, ok=True, result=ChatMember(user=UserFactory(), status="creator"),
|
||||
GetChatMember, ok=True, result=ChatMember(status="creator"),
|
||||
)
|
||||
|
||||
response: ChatMember = await GetChatMember(chat_id=-42, user_id=42)
|
||||
|
|
@ -21,7 +21,7 @@ class TestGetChatMember:
|
|||
@pytest.mark.asyncio
|
||||
async def test_bot_method(self, bot: MockedBot):
|
||||
prepare_result = bot.add_result_for(
|
||||
GetChatMember, ok=True, result=ChatMember(user=UserFactory(), status="creator"),
|
||||
GetChatMember, ok=True, result=ChatMember(status="creator"),
|
||||
)
|
||||
|
||||
response: ChatMember = await bot.get_chat_member(chat_id=-42, user_id=42)
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ class TestChatMember:
|
|||
"status,result", [["administrator", True], ["creator", True], ["member", False]]
|
||||
)
|
||||
def test_is_chat_admin(self, status: str, result: bool):
|
||||
chat_member = ChatMember(user=UserFactory(), status=status)
|
||||
chat_member = ChatMember(status=status)
|
||||
assert chat_member.is_chat_admin == result
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
|
|
@ -24,5 +24,5 @@ class TestChatMember:
|
|||
],
|
||||
)
|
||||
def test_is_chat_member(self, status: str, result: bool):
|
||||
chat_member = ChatMember(user=UserFactory(), status=status)
|
||||
chat_member = ChatMember(status=status)
|
||||
assert chat_member.is_chat_member == result
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue