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.
139 lines
5.5 KiB
139 lines
5.5 KiB
import pytest
|
|
from django.utils.translation import ugettext_lazy as _
|
|
from model_mommy import mommy
|
|
|
|
from sapl.materia.models import TipoMateriaLegislativa, MateriaLegislativa
|
|
from sapl.parlamentares.models import Legislatura, Partido, SessaoLegislativa
|
|
from sapl.sessao import forms
|
|
from sapl.sessao.models import (ExpedienteMateria, SessaoPlenaria,
|
|
TipoSessaoPlenaria)
|
|
|
|
|
|
def test_valida_campos_obrigatorios_sessao_plenaria_form():
|
|
form = forms.SessaoPlenariaForm(data={})
|
|
|
|
assert not form.is_valid()
|
|
|
|
errors = form.errors
|
|
|
|
assert errors['legislatura'] == [_('Este campo é obrigatório.')]
|
|
assert errors['sessao_legislativa'] == [_('Este campo é obrigatório.')]
|
|
assert errors['tipo'] == [_('Este campo é obrigatório.')]
|
|
assert errors['numero'] == [_('Este campo é obrigatório.')]
|
|
assert errors['data_inicio'] == [_('Este campo é obrigatório.')]
|
|
assert errors['hora_inicio'] == [_('Este campo é obrigatório.')]
|
|
|
|
assert len(errors) == 6
|
|
|
|
|
|
@pytest.mark.django_db(transaction=False)
|
|
def test_sessao_plenaria_form_valido():
|
|
legislatura = mommy.make(Legislatura)
|
|
sessao = mommy.make(SessaoLegislativa)
|
|
tipo = mommy.make(TipoSessaoPlenaria)
|
|
|
|
form = forms.SessaoPlenariaForm(data={'legislatura': str(legislatura.pk),
|
|
'numero': '1',
|
|
'tipo': str(tipo.pk),
|
|
'sessao_legislativa': str(sessao.pk),
|
|
'data_inicio': '10/11/2017',
|
|
'hora_inicio': '10:10'
|
|
})
|
|
|
|
assert form.is_valid()
|
|
|
|
|
|
@pytest.mark.django_db(transaction=False)
|
|
def test_numero_duplicado_sessao_plenaria_form():
|
|
legislatura = mommy.make(Legislatura)
|
|
sessao = mommy.make(SessaoLegislativa)
|
|
tipo = mommy.make(TipoSessaoPlenaria)
|
|
mommy.make(SessaoPlenaria,
|
|
legislatura=legislatura,
|
|
sessao_legislativa=sessao,
|
|
tipo=tipo,
|
|
numero=1)
|
|
|
|
form = forms.SessaoPlenariaForm(data={'legislatura': str(legislatura.pk),
|
|
'numero': '1',
|
|
'tipo': str(tipo.pk),
|
|
'sessao_legislativa': str(sessao.pk),
|
|
'data_inicio': '10/11/2017',
|
|
'hora_inicio': '10:10'
|
|
})
|
|
|
|
assert not form.is_valid()
|
|
|
|
assert form.errors['__all__'] == ["Número de Sessão Plenária já existente "
|
|
"para a Legislatura, Sessão Legislativa "
|
|
"e Tipo informados. Favor escolher um "
|
|
"número distinto."]
|
|
|
|
|
|
@pytest.mark.django_db(transaction=False)
|
|
def test_valida_campos_obrigatorios_bancada_form():
|
|
form = forms.BancadaForm(data={})
|
|
|
|
assert not form.is_valid()
|
|
|
|
errors = form.errors
|
|
|
|
assert errors['legislatura'] == [_('Este campo é obrigatório.')]
|
|
assert errors['nome'] == [_('Este campo é obrigatório.')]
|
|
|
|
assert len(errors) == 2
|
|
|
|
|
|
@pytest.mark.django_db(transaction=False)
|
|
def test_bancada_form_valido():
|
|
legislatura = mommy.make(Legislatura)
|
|
partido = mommy.make(Partido)
|
|
|
|
form = forms.BancadaForm(data={'legislatura': str(legislatura.pk),
|
|
'nome': 'Nome da Bancada',
|
|
'partido': str(partido.pk),
|
|
'data_criacao': '10/11/2017',
|
|
'data_extincao': '10/12/2017',
|
|
'descricao': 'teste'
|
|
})
|
|
|
|
assert form.is_valid()
|
|
|
|
|
|
@pytest.mark.django_db(transaction=False)
|
|
def test_bancada_form_datas_invalidas():
|
|
legislatura = mommy.make(Legislatura)
|
|
partido = mommy.make(Partido)
|
|
|
|
form = forms.BancadaForm(data={'legislatura': str(legislatura.pk),
|
|
'nome': 'Nome da Bancada',
|
|
'partido': str(partido.pk),
|
|
'data_criacao': '2016-11-01',
|
|
'data_extincao': '2016-10-01',
|
|
'descricao': 'teste'
|
|
})
|
|
assert not form.is_valid()
|
|
assert form.errors['__all__'] == [_('Data de extinção não pode ser menor '
|
|
'que a de criação')]
|
|
|
|
|
|
@pytest.mark.django_db(transaction=False)
|
|
def test_expediente_materia_form_valido():
|
|
tipo_materia = mommy.make(TipoMateriaLegislativa)
|
|
materia = mommy.make(MateriaLegislativa, tipo=tipo_materia)
|
|
|
|
sessao = mommy.make(SessaoPlenaria)
|
|
|
|
instance = mommy.make(ExpedienteMateria, sessao_plenaria=sessao,
|
|
materia=materia)
|
|
|
|
form = forms.ExpedienteMateriaForm(data={'data_ordem': '28/12/2009',
|
|
'numero_ordem': 1,
|
|
'tipo_materia': tipo_materia.pk,
|
|
'numero_materia': materia.numero,
|
|
'ano_materia': materia.ano,
|
|
'tipo_votacao': 1,
|
|
'sessao_plenaria': sessao.pk
|
|
},
|
|
instance=instance)
|
|
assert form.is_valid()
|
|
|