38 lines
1,016 B
Python
38 lines
1,016 B
Python
import factory
|
|
from django.utils import timezone
|
|
|
|
from factory.django import DjangoModelFactory
|
|
from psycopg2._range import DateTimeTZRange
|
|
|
|
|
|
class CampFactory(DjangoModelFactory):
|
|
class Meta:
|
|
model = "camps.Camp"
|
|
|
|
read_only = False
|
|
|
|
title = factory.Faker("word")
|
|
tagline = factory.Faker("sentence")
|
|
slug = factory.Faker("slug")
|
|
shortslug = factory.Faker("slug")
|
|
|
|
buildup = factory.LazyFunction(
|
|
lambda: DateTimeTZRange(
|
|
lower=timezone.now() - timezone.timedelta(days=3),
|
|
upper=timezone.now() - timezone.timedelta(hours=1)
|
|
)
|
|
)
|
|
|
|
camp = factory.LazyFunction(
|
|
lambda: DateTimeTZRange(lower=timezone.now(), upper=timezone.now() + timezone.timedelta(days=8))
|
|
)
|
|
|
|
teardown = factory.LazyFunction(
|
|
lambda: DateTimeTZRange(
|
|
lower=timezone.now() + timezone.timedelta(days=8, hours=1),
|
|
upper=timezone.now() + timezone.timedelta(days=11),
|
|
)
|
|
)
|
|
|
|
colour = factory.Faker("hex_color")
|