add custom attributes to factory
This commit is contained in:
parent
ad1b6d19b9
commit
5e824f3bb3
1 changed files with 29 additions and 0 deletions
|
|
@ -1,7 +1,36 @@
|
|||
from faker import Faker
|
||||
from polyfactory.factories.pydantic_factory import ModelFactory
|
||||
|
||||
from learn_sql_model.factories.pet import PetFactory
|
||||
from learn_sql_model.models.hero import Hero
|
||||
from learn_sql_model.models.pet import Pet
|
||||
|
||||
|
||||
class HeroFactory(ModelFactory[Hero]):
|
||||
__model__ = Hero
|
||||
__faker__ = Faker(locale="en_US")
|
||||
__set_as_default_factory_for_type__ = True
|
||||
id = None
|
||||
pet_id = None
|
||||
|
||||
__random_seed__ = 10
|
||||
|
||||
@classmethod
|
||||
def name(cls) -> str:
|
||||
return cls.__faker__.first_name()
|
||||
|
||||
@classmethod
|
||||
def secret_name(cls) -> str:
|
||||
return cls.__faker__.name()
|
||||
|
||||
@classmethod
|
||||
def age(cls) -> str:
|
||||
return cls.__faker__.pyint(min_value=5, max_value=100)
|
||||
|
||||
@classmethod
|
||||
def shoe_size(cls) -> str:
|
||||
return cls.__faker__.pyint(min_value=5, max_value=14)
|
||||
|
||||
@classmethod
|
||||
def pet(cls) -> Pet:
|
||||
return PetFactory().build
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue