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)
