Browse Source

Adiciona testes para as alterações

pull/2904/head
Cesar Carvalho 6 years ago
parent
commit
48aec35326
  1. 6
      sapl/parlamentares/forms.py
  2. 113
      sapl/parlamentares/tests/test_parlamentares.py

6
sapl/parlamentares/forms.py

@ -795,10 +795,10 @@ class AfastamentoParlamentarForm(ModelForm):
if data_fim_afastamento: if data_fim_afastamento:
if data_fim_afastamento < data_inicio_afastamento: if data_fim_afastamento < data_inicio_afastamento:
self.logger.error("Data fim de afastamento ({}) menor que data início" self.logger.error("Data fim de afastamento ({}) anterior à data início"
" do afastamento ({})." " do afastamento ({})."
.format(data_fim_afastamento, data_inicio_afastamento)) .format(data_fim_afastamento, data_inicio_afastamento))
raise ValidationError(_("Data fim do afastamento menor que data início do" raise ValidationError(_("Data fim do afastamento anterior à data início do"
" afastamento.")) " afastamento."))
if data_fim_afastamento < data_inicio_mandato: if data_fim_afastamento < data_inicio_mandato:
@ -810,7 +810,7 @@ class AfastamentoParlamentarForm(ModelForm):
if data_fim_mandato and data_fim_afastamento > data_fim_mandato: if data_fim_mandato and data_fim_afastamento > data_fim_mandato:
self.logger.error("Data fim de afastamento ({}) posterior ao fim" self.logger.error("Data fim de afastamento ({}) posterior ao fim"
" do mandato informado ({} a {})." " do mandato informado ({})."
.format(data_inicio_afastamento, data_fim_mandato)) .format(data_inicio_afastamento, data_fim_mandato))
raise ValidationError(_("Data fim do afastamento posterior ao fim" raise ValidationError(_("Data fim do afastamento posterior ao fim"
" do mandato informado.")) " do mandato informado."))

113
sapl/parlamentares/tests/test_parlamentares.py

@ -5,10 +5,11 @@ from model_mommy import mommy
from datetime import datetime from datetime import datetime
from sapl.parlamentares import forms from sapl.parlamentares import forms
from sapl.parlamentares.forms import FrenteForm, LegislaturaForm, MandatoForm from sapl.parlamentares.forms import FrenteForm, LegislaturaForm, MandatoForm, AfastamentoParlamentarForm
from sapl.parlamentares.models import (Dependente, Filiacao, Legislatura, from sapl.parlamentares.models import (Dependente, Filiacao, Legislatura,
Mandato, Parlamentar, Partido, Mandato, Parlamentar, Partido,
TipoDependente) TipoDependente, TipoAfastamento,
AfastamentoParlamentar)
@pytest.mark.django_db(transaction=False) @pytest.mark.django_db(transaction=False)
@ -408,3 +409,111 @@ def test_bancada_form_datas_invalidas():
'descricao': 'teste' 'descricao': 'teste'
}) })
assert not form.is_valid() assert not form.is_valid()
@pytest.mark.django_db(transaction=False)
def test_afastamentos_form_datas_invalidas():
parlamentar = mommy.make(Parlamentar)
mandato = mommy.make(Mandato,
parlamentar = parlamentar,
data_inicio_mandato='2017-01-01',
data_fim_mandato='2021-12-31')
tipo_afastamento = mommy.make(TipoAfastamento,
indicador= 'A',
pk=1)
form = AfastamentoParlamentarForm(data={
'parlamentar': parlamentar.pk,
'mandato': mandato.pk,
'data_inicio': '2016-12-12',
'data_fim': '2019-10-09',
'tipo_afastamento': tipo_afastamento.pk
}, initial={'parlamentar': parlamentar.pk})
assert not form.is_valid()
assert form.errors['__all__'] == \
["Data início do afastamento anterior ao início do mandato informado."]
form = AfastamentoParlamentarForm(data={
'parlamentar': parlamentar.pk,
'mandato': mandato.pk,
'data_inicio': '2017-02-02',
'data_fim': '2022-10-09',
'tipo_afastamento': tipo_afastamento.pk
}, initial={'parlamentar': parlamentar.pk})
assert not form.is_valid()
assert form.errors['__all__'] == \
["Data fim do afastamento posterior ao fim do mandato informado."]
form = AfastamentoParlamentarForm(data={
'parlamentar': parlamentar.pk,
'mandato': mandato.pk,
'data_inicio': '2017-02-02',
'data_fim': '2015-10-09',
'tipo_afastamento': tipo_afastamento.pk
}, initial={'parlamentar': parlamentar.pk})
assert not form.is_valid()
assert form.errors['__all__'] == \
["Data fim do afastamento anterior à data início do afastamento."]
form = AfastamentoParlamentarForm(data={
'parlamentar': parlamentar.pk,
'mandato': mandato.pk,
'data_inicio': '2017-02-02',
'tipo_afastamento': tipo_afastamento.pk
}, initial={'parlamentar': parlamentar.pk})
assert form.is_valid()
form.save()
assert AfastamentoParlamentar.objects.all().count() == 1
form = AfastamentoParlamentarForm(data={
'parlamentar': parlamentar.pk,
'mandato': mandato.pk,
'data_inicio': '2018-04-02',
'data_fim': '2018-06-09',
'tipo_afastamento': tipo_afastamento.pk
}, initial={'parlamentar': parlamentar.pk})
assert not form.is_valid()
assert form.errors['__all__'] == \
["Existe Afastamento sem Data Fim."]
afastamento = AfastamentoParlamentar.objects.first()
afastamento.data_fim = '2017-04-02'
afastamento.save()
assert AfastamentoParlamentar.objects.first().data_fim == data('2017-04-02')
form = AfastamentoParlamentarForm(data={
'parlamentar': parlamentar.pk,
'mandato': mandato.pk,
'data_inicio': '2018-04-02',
'data_fim': '2018-06-09',
'tipo_afastamento': tipo_afastamento.pk
}, initial={'parlamentar': parlamentar.pk})
assert form.is_valid()
@pytest.mark.django_db(transaction=False)
def test_afastamentos_form_campos_invalidos():
parlamentar = mommy.make(Parlamentar)
mandato = mommy.make(Mandato,
parlamentar = parlamentar,
data_inicio_mandato='2017-01-01',
data_fim_mandato='2021-12-31')
tipo_afastamento = mommy.make(TipoAfastamento,
indicador= 'A',
pk=1)
form = AfastamentoParlamentarForm(data={}, initial={'parlamentar': parlamentar.pk})
assert not form.is_valid()
assert form.errors['data_inicio'] == ["Este campo é obrigatório."]
assert form.errors['mandato'] == ["Este campo é obrigatório."]
assert form.errors['parlamentar'] == ["Este campo é obrigatório."]
Loading…
Cancel
Save