fix: replace direct creation of Chat instances with usage of ChatFactory

This commit is contained in:
Egor 2020-07-03 16:15:11 +05:00
parent 23c0ed633f
commit d04e220fbb
5 changed files with 15 additions and 14 deletions

View file

@ -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

View file

@ -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)

View file

@ -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)

View file

@ -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)

View file

@ -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