adiciona o aplicativo de diarios
This commit is contained in:
0
diarios/tests/__init__.py
Normal file
0
diarios/tests/__init__.py
Normal file
31
diarios/tests/factories.py
Normal file
31
diarios/tests/factories.py
Normal file
@ -0,0 +1,31 @@
|
||||
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"]
|
||||
34
diarios/tests/test_models.py
Normal file
34
diarios/tests/test_models.py
Normal file
@ -0,0 +1,34 @@
|
||||
from django.test import TestCase
|
||||
from diarios.models import TipoDiarioOficial, DiarioOficial, PageDiarioOficial
|
||||
from .factories import (
|
||||
TipoDiarioOficialFactory,
|
||||
DiarioOficialFactory,
|
||||
PageDiarioOficialFactory,
|
||||
)
|
||||
|
||||
|
||||
class TipoDiarioOficialFactoryTest(TestCase):
|
||||
def test_create_tipo_diario_oficial(self):
|
||||
tipo = TipoDiarioOficialFactory()
|
||||
self.assertIsInstance(tipo, TipoDiarioOficial)
|
||||
self.assertIsNotNone(tipo.pk)
|
||||
self.assertTrue(tipo.nome)
|
||||
|
||||
|
||||
class DiarioOficialFactoryTest(TestCase):
|
||||
def test_create_diario_oficial(self):
|
||||
diario = DiarioOficialFactory()
|
||||
self.assertIsInstance(diario, DiarioOficial)
|
||||
self.assertIsNotNone(diario.pk)
|
||||
self.assertIsNotNone(diario.numero)
|
||||
self.assertIsInstance(diario.tipo, TipoDiarioOficial)
|
||||
|
||||
|
||||
class PageDiarioOficialFactoryTest(TestCase):
|
||||
def test_create_page_diario_oficial(self):
|
||||
page = PageDiarioOficialFactory()
|
||||
self.assertIsInstance(page, PageDiarioOficial)
|
||||
self.assertIsNotNone(page.pk)
|
||||
self.assertIsInstance(page.diario, DiarioOficial)
|
||||
self.assertIsInstance(page.conteudo, str)
|
||||
self.assertGreater(len(page.conteudo), 0)
|
||||
Reference in New Issue
Block a user