From 1f3ec44f068c97af303d3329f33e3e47e4b3eb02 Mon Sep 17 00:00:00 2001 From: Cesar Carvalho Date: Fri, 7 Jun 2019 09:29:30 -0300 Subject: [PATCH] =?UTF-8?q?Corrige=20testes=20de=20acordo=20com=20altera?= =?UTF-8?q?=C3=A7=C3=B5es=20nos=20forms?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sapl/materia/forms.py | 9 ++++++--- sapl/materia/tests/test_materia.py | 1 + sapl/materia/tests/test_materia_form.py | 13 +++++++++---- 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/sapl/materia/forms.py b/sapl/materia/forms.py index f679a9739..8b33a7f55 100644 --- a/sapl/materia/forms.py +++ b/sapl/materia/forms.py @@ -1181,8 +1181,10 @@ class AutoriaForm(ModelForm): super(AutoriaForm, self).__init__(*args, **kwargs) self.fields['primeiro_autor'].required = True - materia = kwargs['initial']['materia'] - self.fields['primeiro_autor'].initial = Autoria.objects.filter(materia=materia).count() == 0 + + if 'initial' in kwargs and 'materia' in kwargs['initial']: + materia = kwargs['initial']['materia'] + self.fields['primeiro_autor'].initial = Autoria.objects.filter(materia=materia).count() == 0 row1 = to_row([('tipo_autor', 4), ('autor', 4), @@ -1251,7 +1253,8 @@ class AutoriaMultiCreateForm(Form): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) - self.fields['primeiro_autor'].initial = kwargs['initial']['autores'].count() == 0 + if 'initial' in kwargs and 'autores' in kwargs['initial']: + self.fields['primeiro_autor'].initial = kwargs['initial']['autores'].count() == 0 row1 = to_row([('tipo_autor', 10), ('primeiro_autor', 2)]) diff --git a/sapl/materia/tests/test_materia.py b/sapl/materia/tests/test_materia.py index e12b03dff..dabf29bed 100644 --- a/sapl/materia/tests/test_materia.py +++ b/sapl/materia/tests/test_materia.py @@ -243,6 +243,7 @@ def test_autoria_submit(admin_client): reverse('sapl.materia:autoria_create', kwargs={'pk': materia_principal.pk}), {'autor': autor.pk, + 'tipo_autor': tipo_autor.pk, 'primeiro_autor': True, 'materia_id': materia_principal.pk, }, follow=True) diff --git a/sapl/materia/tests/test_materia_form.py b/sapl/materia/tests/test_materia_form.py index e29d89815..215f114a2 100644 --- a/sapl/materia/tests/test_materia_form.py +++ b/sapl/materia/tests/test_materia_form.py @@ -129,9 +129,11 @@ def test_valida_campos_obrigatorios_autoria_form(): errors = form.errors - assert errors['autor'] == [_('Este campo é obrigatório.')] + assert len(errors) == 3 - assert len(errors) == 1 + assert errors['tipo_autor'] == [_('Este campo é obrigatório.')] + assert errors['autor'] == [_('Este campo é obrigatório.')] + assert errors['primeiro_autor'] == [_('Este campo é obrigatório.')] @pytest.mark.django_db(transaction=False) @@ -142,9 +144,12 @@ def test_valida_campos_obrigatorios_autoria_multicreate_form(): errors = form.errors - assert errors['__all__'] == [_('Ao menos um autor deve ser selecionado para inclusão')] + assert len(errors) == 4 - assert len(errors) == 1 + assert errors['__all__'] == [_('Ao menos um autor deve ser selecionado para inclusão')] + assert errors['tipo_autor'] == [_('Este campo é obrigatório.')] + assert errors['autor'] == [_('Este campo é obrigatório.')] + assert errors['primeiro_autor'] == [_('Este campo é obrigatório.')] @pytest.mark.django_db(transaction=False)