31 lines
962 B
Python
31 lines
962 B
Python
|
|
from factory.django import DjangoModelFactory
|
||
|
|
from factory import Faker, SubFactory, LazyAttribute, Sequence
|
||
|
|
import datetime
|
||
|
|
from diarios.models import PageDiarioOficial, DiarioOficial, TipoDiarioOficial
|
||
|
|
|
||
|
|
|
||
|
|
class TipoDiarioOficialFactory(DjangoModelFactory):
|
||
|
|
nome = Faker("word")
|
||
|
|
|
||
|
|
class Meta:
|
||
|
|
model = TipoDiarioOficial
|
||
|
|
django_get_or_create = ["nome"]
|
||
|
|
|
||
|
|
class DiarioOficialFactory(DjangoModelFactory):
|
||
|
|
data = Faker("date_this_decade")
|
||
|
|
numero = Sequence(lambda n: f"{n:04d}-DO") # ex: 0001-DO, 0002-DO
|
||
|
|
tipo = SubFactory(TipoDiarioOficialFactory)
|
||
|
|
link = None
|
||
|
|
|
||
|
|
class Meta:
|
||
|
|
model = DiarioOficial
|
||
|
|
|
||
|
|
class PageDiarioOficialFactory(DjangoModelFactory):
|
||
|
|
diario = SubFactory(DiarioOficialFactory)
|
||
|
|
numero = Sequence(lambda n: n + 1)
|
||
|
|
layout_duas_colunas = False
|
||
|
|
conteudo = Faker("text", max_nb_chars=3000)
|
||
|
|
|
||
|
|
class Meta:
|
||
|
|
model = PageDiarioOficial
|
||
|
|
django_get_or_create = ["diario", "numero"]
|