mirror of https://github.com/interlegis/sapl.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
90 lines
3.2 KiB
90 lines
3.2 KiB
import pytest
|
|
import datetime
|
|
from model_bakery import baker
|
|
from django.utils.translation import ugettext as _
|
|
|
|
from sapl.audiencia import forms
|
|
from sapl.audiencia.models import AnexoAudienciaPublica
|
|
from sapl.audiencia.models import TipoAudienciaPublica, AudienciaPublica
|
|
from sapl.materia.models import MateriaLegislativa, TipoMateriaLegislativa
|
|
|
|
|
|
@pytest.mark.django_db(transaction=False)
|
|
def test_tipo_audiencia_publica_model():
|
|
baker.make(TipoAudienciaPublica,
|
|
nome='Teste_Nome_Tipo_Audiencia_Publica',
|
|
tipo='A')
|
|
|
|
tipo_audiencia_publica = TipoAudienciaPublica.objects.first()
|
|
assert tipo_audiencia_publica.nome == 'Teste_Nome_Tipo_Audiencia_Publica'
|
|
assert tipo_audiencia_publica.tipo == 'A'
|
|
|
|
|
|
@pytest.mark.django_db(transaction=False)
|
|
def test_audiencia_publica_model():
|
|
baker.make(AudienciaPublica,
|
|
numero=1,
|
|
nome='Teste_Nome_Audiencia_Publica',
|
|
tema='Teste_Tema_Audiencia_Publica',
|
|
data='2016-03-21',
|
|
hora_inicio='16:03')
|
|
|
|
audiencia_publica = AudienciaPublica.objects.first()
|
|
|
|
data = '2016-03-21'
|
|
teste_data = datetime.datetime.strptime(data, "%Y-%m-%d").date()
|
|
|
|
assert audiencia_publica.numero == 1
|
|
assert audiencia_publica.nome == 'Teste_Nome_Audiencia_Publica'
|
|
assert audiencia_publica.tema == 'Teste_Tema_Audiencia_Publica'
|
|
assert audiencia_publica.data == teste_data
|
|
assert audiencia_publica.hora_inicio == '16:03'
|
|
|
|
|
|
@pytest.mark.django_db(transaction=False)
|
|
def test_anexo_audiencia_publica_model():
|
|
audiencia = baker.make(AudienciaPublica,
|
|
numero=2,
|
|
nome='Nome_Audiencia_Publica',
|
|
tema='Tema_Audiencia_Publica',
|
|
data='2017-04-22',
|
|
hora_inicio='17:04')
|
|
|
|
baker.make(AnexoAudienciaPublica,
|
|
audiencia=audiencia)
|
|
|
|
anexo_audiencia_publica = AnexoAudienciaPublica.objects.first()
|
|
assert anexo_audiencia_publica.audiencia == audiencia
|
|
|
|
|
|
@pytest.mark.django_db(transaction=False)
|
|
def test_valida_campos_obrigatorios_audiencia_form():
|
|
form = forms.AudienciaForm(data={})
|
|
|
|
assert not form.is_valid()
|
|
|
|
errors = form.errors
|
|
|
|
assert errors['nome'] == [_('Este campo é obrigatório.')]
|
|
assert errors['tema'] == [_('Este campo é obrigatório.')]
|
|
assert errors['tipo'] == [_('Este campo é obrigatório.')]
|
|
assert errors['data'] == [_('Este campo é obrigatório.')]
|
|
assert errors['hora_inicio'] == [_('Este campo é obrigatório.')]
|
|
|
|
assert len(errors) == 6
|
|
|
|
|
|
@pytest.mark.django_db(transaction=False)
|
|
def test_audiencia_form_hora_invalida():
|
|
tipo_materia = baker.make(TipoMateriaLegislativa)
|
|
|
|
tipo = baker.make(TipoAudienciaPublica)
|
|
|
|
form = forms.AudienciaForm(data={'nome': 'Nome da Audiencia',
|
|
'tema': 'Tema da Audiencia',
|
|
'tipo': tipo,
|
|
'data': '2016-10-01',
|
|
'hora_inicio': '10:00',
|
|
'hora_fim': '9:00',
|
|
})
|
|
assert not form.is_valid()
|
|
|