Browse Source

Adiciona testes iniciais para SessaoPlenariaForm

pull/1427/head
Edward Ribeiro 7 years ago
parent
commit
774b74f786
  1. 14
      sapl/sessao/forms.py
  2. 67
      sapl/sessao/tests/test_sessao.py

14
sapl/sessao/forms.py

@ -63,7 +63,7 @@ class SessaoPlenariaForm(ModelForm):
super(SessaoPlenariaForm, self).clean() super(SessaoPlenariaForm, self).clean()
if not self.is_valid(): if not self.is_valid():
return self.cleaned_data return self.cleaned_data
instance = self.instance instance = self.instance
@ -72,18 +72,18 @@ class SessaoPlenariaForm(ModelForm):
leg = self.cleaned_data['legislatura'] leg = self.cleaned_data['legislatura']
tipo = self.cleaned_data['tipo'] tipo = self.cleaned_data['tipo']
error = ValidationError(
"Número de Sessão Plenária já existente "
"para a Legislatura, Sessão Legislativa e Tipo informados. "
"Favor escolher um número distinto.")
sessoes = SessaoPlenaria.objects.filter(numero=num, sessoes = SessaoPlenaria.objects.filter(numero=num,
sessao_legislativa=sl, sessao_legislativa=sl,
legislatura=leg, legislatura=leg,
tipo=tipo).\ tipo=tipo).\
values_list('id', flat=True) values_list('id', flat=True)
qtd_sessoes = len(sessoes) qtd_sessoes = len(sessoes)
error = ValidationError(
"Número de Sessão Plenária já existente "
"para a Legislatura, Sessão Legislativa e Tipo informados. "
"Favor escolher um número distinto.")
if qtd_sessoes > 0: if qtd_sessoes > 0:
if instance.pk: # update if instance.pk: # update

67
sapl/sessao/tests/test_sessao.py

@ -0,0 +1,67 @@
import pytest
from sapl.parlamentares.models import Legislatura, SessaoLegislativa
from sapl.sessao import forms
from sapl.sessao.models import SessaoPlenaria, TipoSessaoPlenaria
from django.utils.translation import ugettext_lazy as _
from model_mommy import mommy
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)
sessao_plenaria = 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."]
Loading…
Cancel
Save