28 lines
777 B
Python
28 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
|