2020-07-03 16:09:00 +05:00
|
|
|
from datetime import datetime
|
|
|
|
|
|
2020-07-03 16:15:37 +05:00
|
|
|
import factory
|
|
|
|
|
|
2020-07-03 16:15:11 +05:00
|
|
|
from aiogram.api.types import Message
|
2020-07-03 16:09:00 +05:00
|
|
|
from tests.factories import sequences
|
|
|
|
|
from tests.factories.chat import ChatFactory
|
|
|
|
|
from tests.factories.user import UserFactory
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class MessageFactory(factory.Factory):
|
2020-07-03 16:15:11 +05:00
|
|
|
class Meta:
|
|
|
|
|
model = Message
|
|
|
|
|
|
2020-07-03 16:09:00 +05:00
|
|
|
message_id = sequences.id_
|
|
|
|
|
from_user = factory.SubFactory(UserFactory)
|
|
|
|
|
chat = factory.SubFactory(ChatFactory)
|
|
|
|
|
text = factory.Sequence(lambda n: f"Message text #{n}")
|
|
|
|
|
|
|
|
|
|
date = factory.LazyFunction(lambda _: datetime.now().toordinal())
|
2020-07-03 16:29:04 +05:00
|
|
|
|
|
|
|
|
def __new__(cls, *args, **kwargs) -> "MessageFactory.Meta.model":
|
|
|
|
|
"""
|
|
|
|
|
This is a dirty hack for correct type hints
|
|
|
|
|
See https://github.com/FactoryBoy/factory_boy/issues/468#issuecomment-505646794
|
|
|
|
|
"""
|
|
|
|
|
return super().__new__(*args, **kwargs)
|