mirror of
https://github.com/Balshgit/gpt_chat_bot.git
synced 2026-02-03 11:40:39 +03:00
add more tests (#19)
This commit is contained in:
@@ -1,8 +1,12 @@
|
||||
import string
|
||||
import time
|
||||
from typing import Any
|
||||
|
||||
import factory
|
||||
import factory.fuzzy
|
||||
from faker import Faker
|
||||
|
||||
from constants import BotStagesEnum
|
||||
from tests.integration.factories.models import Chat, User
|
||||
|
||||
faker = Faker("ru_RU")
|
||||
@@ -55,3 +59,38 @@ class BotEntitleFactory(factory.DictFactory):
|
||||
type = "bot_command"
|
||||
offset = 0
|
||||
length = 7
|
||||
|
||||
|
||||
class BotMessageFactory(factory.DictFactory):
|
||||
message_id = factory.Faker("random_int", min=10**8, max=10**9 - 1)
|
||||
chat = factory.LazyFunction(lambda: BotChatFactory()._asdict())
|
||||
date = time.time()
|
||||
text = factory.Faker("text")
|
||||
entities = factory.LazyFunction(lambda: [BotEntitleFactory()])
|
||||
|
||||
@classmethod
|
||||
def create_instance(cls, **kwargs: Any) -> dict[str, Any]:
|
||||
data = {**cls.build(**kwargs), "from": BotUserFactory()._asdict()}
|
||||
return data
|
||||
|
||||
|
||||
class BotUpdateFactory(factory.DictFactory):
|
||||
update_id = factory.Faker("random_int", min=10**8, max=10**9 - 1)
|
||||
message = factory.LazyFunction(lambda: BotMessageFactory.create_instance())
|
||||
|
||||
|
||||
class CallBackFactory(factory.DictFactory):
|
||||
id = factory.Faker("bothify", text="###################")
|
||||
chat_instance = factory.Faker("bothify", text="###################")
|
||||
message = factory.LazyFunction(lambda: BotMessageFactory.create_instance())
|
||||
data = factory.fuzzy.FuzzyChoice(BotStagesEnum)
|
||||
|
||||
@classmethod
|
||||
def create_instance(cls, **kwargs: Any) -> dict[str, Any]:
|
||||
data = {**cls.build(**kwargs), "from": BotUserFactory()._asdict()}
|
||||
return data
|
||||
|
||||
|
||||
class BotCallBackQueryFactory(factory.DictFactory):
|
||||
update_id = factory.Faker("random_int", min=10**8, max=10**9 - 1)
|
||||
callback_query = factory.LazyFunction(lambda: BotMessageFactory.create_instance())
|
||||
|
||||
Reference in New Issue
Block a user