generated from JustScreaMy/ProjectTemplate
62 lines
1.6 KiB
Python
62 lines
1.6 KiB
Python
from random import randint
|
|
|
|
import factory
|
|
import datetime
|
|
|
|
from django.contrib.auth.models import User
|
|
from factory.fuzzy import FuzzyDate
|
|
from datetime import date
|
|
|
|
from tko.models import Article, Event, ArticleImage, Contact
|
|
|
|
|
|
class ContactFactory(factory.django.DjangoModelFactory):
|
|
class Meta:
|
|
model = Contact
|
|
|
|
name = factory.Faker("name")
|
|
email = factory.Faker("email")
|
|
phone_number = factory.Faker("phone_number")
|
|
content = factory.Faker("text")
|
|
|
|
|
|
class ArticleFactory(factory.django.DjangoModelFactory):
|
|
class Meta:
|
|
model = Article
|
|
|
|
title = factory.Faker("name")
|
|
content = factory.Faker("text")
|
|
date = FuzzyDate(datetime.date(2021, 1, 1), date.today())
|
|
author = factory.Faker("name")
|
|
active_to = FuzzyDate(datetime.date(2021, 1, 1), datetime.date(2025, 1, 1))
|
|
|
|
|
|
class GalleryFactory(factory.django.DjangoModelFactory):
|
|
class Meta:
|
|
model = ArticleImage
|
|
|
|
article = factory.SubFactory(ArticleFactory)
|
|
image = factory.django.FileField(filename='image.png')
|
|
main = factory.Faker("boolean")
|
|
|
|
|
|
class EventFactory(factory.django.DjangoModelFactory):
|
|
class Meta:
|
|
model = Event
|
|
|
|
title = factory.Faker("name")
|
|
start_date = FuzzyDate(datetime.date(2021, 1, 1), datetime.date(2025, 1, 1))
|
|
end_date = factory.LazyAttribute(
|
|
lambda obj: obj.start_date + datetime.timedelta(minutes=randint(5, 5 * 24 * 60))
|
|
)
|
|
color = factory.Faker("color")
|
|
|
|
|
|
class UserFactory(factory.django.DjangoModelFactory):
|
|
class Meta:
|
|
model = User
|
|
|
|
username = factory.Faker("name")
|
|
email = factory.Faker("email")
|
|
password = "password"
|
|
is_superuser = True
|