27 lines
777 B
Python
27 lines
777 B
Python
"""Factory to create `Restaurant` instances."""
|
|
|
|
import factory
|
|
import faker
|
|
from factory import alchemy
|
|
|
|
from tests.db.fake_data.factories import utils
|
|
from urban_meal_delivery import db
|
|
|
|
|
|
_restaurant_names = faker.Faker()
|
|
|
|
|
|
class RestaurantFactory(alchemy.SQLAlchemyModelFactory):
|
|
"""Create instances of the `db.Restaurant` model."""
|
|
|
|
class Meta:
|
|
model = db.Restaurant
|
|
sqlalchemy_get_or_create = ('id',)
|
|
|
|
id = factory.Sequence(lambda num: num) # noqa:WPS125
|
|
created_at = factory.LazyFunction(utils.early_in_the_morning)
|
|
name = factory.LazyFunction(
|
|
lambda: f"{_restaurant_names.first_name()}'s Restaurant",
|
|
)
|
|
# address -> set by the `make_restaurant` fixture as there is only one `city`
|
|
estimated_prep_duration = 1000
|