From bdd4f4cbb67a098ff0d57e32158f3e4853bc56b0 Mon Sep 17 00:00:00 2001 From: Mariana Mendes Date: Fri, 10 Aug 2018 17:27:43 -0300 Subject: [PATCH] FIX #2126 (#2130) * fix #2126 * Corrige os testes --- sapl/sessao/forms.py | 18 ++++++++++++++++++ sapl/sessao/tests/test_sessao.py | 18 +++++++++++++----- 2 files changed, 31 insertions(+), 5 deletions(-) diff --git a/sapl/sessao/forms.py b/sapl/sessao/forms.py index 06dd40830..cc68df531 100644 --- a/sapl/sessao/forms.py +++ b/sapl/sessao/forms.py @@ -112,6 +112,24 @@ class BancadaForm(ModelForm): if not self.is_valid(): return self.cleaned_data + data = self.cleaned_data + + legislatura = data['legislatura'] + + data_criacao = data['data_criacao'] + if data_criacao: + if (data_criacao < legislatura.data_inicio or + data_criacao > legislatura.data_fim): + raise ValidationError(_("Data de criação da bancada fora do intervalo" + " de legislatura informada")) + + data_extincao = data['data_extincao'] + if data_extincao: + if (data_extincao < legislatura.data_inicio or + data_extincao > legislatura.data_fim): + raise ValidationError(_("Data fim da bancada fora do intervalo de" + " legislatura informada")) + if self.cleaned_data['data_extincao']: if (self.cleaned_data['data_extincao'] < self.cleaned_data['data_criacao']): diff --git a/sapl/sessao/tests/test_sessao.py b/sapl/sessao/tests/test_sessao.py index d83c56e86..336c62ad0 100644 --- a/sapl/sessao/tests/test_sessao.py +++ b/sapl/sessao/tests/test_sessao.py @@ -1,4 +1,5 @@ import pytest +from datetime import datetime from django.core.exceptions import ValidationError from django.utils.translation import ugettext_lazy as _ from model_mommy import mommy @@ -87,9 +88,16 @@ def test_valida_campos_obrigatorios_bancada_form(): assert len(errors) == 3 +def data(valor): + return datetime.strptime(valor, '%Y-%m-%d').date() + + @pytest.mark.django_db(transaction=False) def test_bancada_form_valido(): - legislatura = mommy.make(Legislatura) + legislatura = mommy.make(Legislatura, + data_inicio=data('2017-11-10'), + data_fim=data('2017-12-31'), + ) partido = mommy.make(Partido) form = forms.BancadaForm(data={'legislatura': str(legislatura.pk), @@ -105,7 +113,10 @@ def test_bancada_form_valido(): @pytest.mark.django_db(transaction=False) def test_bancada_form_datas_invalidas(): - legislatura = mommy.make(Legislatura) + legislatura = mommy.make(Legislatura, + data_inicio=data('2017-11-10'), + data_fim=data('2017-12-31'), + ) partido = mommy.make(Partido) form = forms.BancadaForm(data={'legislatura': str(legislatura.pk), @@ -116,9 +127,6 @@ def test_bancada_form_datas_invalidas(): '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():