Browse Source

1409 testes (#1444)

* Adiciona a BancadaForm

* Adiciona testes básicos de checagem de data para Bancada

* Adiciona teste simples em NormaRelacionadaForm

* Fix NormaRelacionadaForm e alguns erros relacionados ao check_qa.sh

* Corrige NormaRelacionadaForm

* Adiciona teste no CasaLegislativaForm

* Adiciona teste ao FrenteForm

* Corrige erro em FrenteForm

* Adiciona teste em NotaForm

* Corrige teste em NotaForm

* Corrige erros gerados pelo comando fix_qa.sh
pull/1227/merge
Mariana Mendes 7 years ago
committed by Edward
parent
commit
1e178633eb
  1. 20
      sapl/base/tests/test_form.py
  2. 2
      sapl/compilacao/models.py
  3. 42
      sapl/compilacao/tests/test_tipo_texto_articulado_form.py
  4. 7
      sapl/compilacao/views.py
  5. 23
      sapl/norma/tests/test_norma.py
  6. 8
      sapl/parlamentares/forms.py
  7. 35
      sapl/parlamentares/tests/test_parlamentares.py
  8. 9
      sapl/protocoloadm/tests/test_protocoloadm.py
  9. 61
      sapl/sessao/tests/test_sessao.py

20
sapl/base/tests/test_form.py

@ -0,0 +1,20 @@
from django.utils.translation import ugettext_lazy as _
from sapl.base.forms import CasaLegislativaForm
def test_valida_campos_obrigatorios_casa_legislativa_form():
form = CasaLegislativaForm(data={})
assert not form.is_valid()
errors = form.errors
assert errors['nome'] == [_('Este campo é obrigatório.')]
assert errors['sigla'] == [_('Este campo é obrigatório.')]
assert errors['endereco'] == [_('Este campo é obrigatório.')]
assert errors['cep'] == [_('Este campo é obrigatório.')]
assert errors['municipio'] == [_('Este campo é obrigatório.')]
assert errors['uf'] == [_('Este campo é obrigatório.')]
assert len(errors) == 6

2
sapl/compilacao/models.py

@ -1,5 +1,6 @@
from datetime import datetime from datetime import datetime
import reversion
from django.contrib import messages from django.contrib import messages
from django.contrib.contenttypes.fields import GenericForeignKey from django.contrib.contenttypes.fields import GenericForeignKey
from django.contrib.contenttypes.models import ContentType from django.contrib.contenttypes.models import ContentType
@ -12,7 +13,6 @@ from django.template import defaultfilters
from django.utils.decorators import classonlymethod from django.utils.decorators import classonlymethod
from django.utils.encoding import force_text from django.utils.encoding import force_text
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
import reversion
from sapl.compilacao.utils import (get_integrations_view_names, int_to_letter, from sapl.compilacao.utils import (get_integrations_view_names, int_to_letter,
int_to_roman) int_to_roman)

42
sapl/compilacao/tests/test_tipo_texto_articulado_form.py

@ -1,9 +1,10 @@
from django.utils.translation import ugettext_lazy as _
from model_mommy import mommy
import pytest import pytest
from django.utils.translation import ugettext as _
from model_mommy import mommy
from sapl.compilacao import forms from sapl.compilacao import forms
from sapl.compilacao.models import PerfilEstruturalTextoArticulado from sapl.compilacao.models import (PerfilEstruturalTextoArticulado,
TipoNota)
from sapl.compilacao.views import choice_models_in_extenal_views from sapl.compilacao.views import choice_models_in_extenal_views
@ -39,3 +40,38 @@ def test_tipo_texto_articulado_form_valid(content_type):
}) })
assert form.is_valid(), form.errors assert form.is_valid(), form.errors
def test_valida_campos_obrigatorios_nota_form():
form = forms.NotaForm(data={})
assert not form.is_valid()
errors = form.errors
assert errors['texto'] == [_('Este campo é obrigatório')]
assert errors['publicidade'] == [_('Este campo é obrigatório.')]
assert errors['tipo'] == [_('Este campo é obrigatório.')]
assert errors['publicacao'] == [_('Este campo é obrigatório')]
assert errors['efetividade'] == [_('Este campo é obrigatório')]
assert errors['dispositivo'] == [_('Este campo é obrigatório.')]
assert len(errors) == 6
@pytest.mark.django_db(transaction=False)
def test_nota_form_invalido():
tipo = mommy.make(TipoNota)
form = forms.NotaForm(data={'titulo': 'titulo',
'texto': 'teste',
'url_externa': 'www.test.com',
'publicidade': 'publicidade',
'tipo': str(tipo.pk),
'publicacao': '10/05/2017',
'efetividade': '10/05/2017',
'dispositivo': 'dispositivo',
'pk': 'pk'
})
assert not form.is_valid()

7
sapl/compilacao/views.py

@ -1,7 +1,7 @@
from collections import OrderedDict
from datetime import timedelta
import logging import logging
import sys import sys
from collections import OrderedDict
from datetime import timedelta
from braces.views import FormMessagesMixin from braces.views import FormMessagesMixin
from django import forms from django import forms
@ -19,8 +19,8 @@ from django.http.response import (HttpResponse, HttpResponseRedirect,
from django.shortcuts import get_object_or_404, redirect from django.shortcuts import get_object_or_404, redirect
from django.utils.dateparse import parse_date from django.utils.dateparse import parse_date
from django.utils.encoding import force_text from django.utils.encoding import force_text
from django.utils.translation import string_concat
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from django.utils.translation import string_concat
from django.views.generic.base import TemplateView from django.views.generic.base import TemplateView
from django.views.generic.detail import DetailView from django.views.generic.detail import DetailView
from django.views.generic.edit import (CreateView, DeleteView, FormView, from django.views.generic.edit import (CreateView, DeleteView, FormView,
@ -50,7 +50,6 @@ from sapl.compilacao.utils import (DISPOSITIVO_SELECT_RELATED,
from sapl.crud.base import Crud, CrudListView, make_pagination from sapl.crud.base import Crud, CrudListView, make_pagination
from sapl.settings import BASE_DIR from sapl.settings import BASE_DIR
TipoNotaCrud = Crud.build(TipoNota, 'tipo_nota') TipoNotaCrud = Crud.build(TipoNota, 'tipo_nota')
TipoVideCrud = Crud.build(TipoVide, 'tipo_vide') TipoVideCrud = Crud.build(TipoVide, 'tipo_vide')
TipoPublicacaoCrud = Crud.build(TipoPublicacao, 'tipo_publicacao') TipoPublicacaoCrud = Crud.build(TipoPublicacao, 'tipo_publicacao')

23
sapl/norma/tests/test_norma.py

@ -1,11 +1,13 @@
import pytest import pytest
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from model_mommy import mommy from model_mommy import mommy
from sapl.materia.models import MateriaLegislativa, TipoMateriaLegislativa from sapl.materia.models import MateriaLegislativa, TipoMateriaLegislativa
from sapl.norma.forms import (NormaJuridicaForm,) from sapl.norma.forms import NormaJuridicaForm, NormaRelacionadaForm
from sapl.norma.models import NormaJuridica, TipoNormaJuridica from sapl.norma.models import (NormaJuridica, TipoNormaJuridica)
@pytest.mark.django_db(transaction=False) @pytest.mark.django_db(transaction=False)
@ -96,7 +98,6 @@ def test_norma_juridica_materia_inexistente():
@pytest.mark.django_db(transaction=False) @pytest.mark.django_db(transaction=False)
def test_norma_juridica_materia_existente(): def test_norma_juridica_materia_existente():
tipo = mommy.make(TipoNormaJuridica) tipo = mommy.make(TipoNormaJuridica)
tipo_materia = mommy.make(TipoMateriaLegislativa) tipo_materia = mommy.make(TipoMateriaLegislativa)
materia = mommy.make(MateriaLegislativa, materia = mommy.make(MateriaLegislativa,
@ -115,3 +116,19 @@ def test_norma_juridica_materia_existente():
'ano_materia': '2017' 'ano_materia': '2017'
}) })
assert form.is_valid() assert form.is_valid()
@pytest.mark.django_db(transaction=False)
def test_norma_relacionada_form_campos_obrigatorios():
form = NormaRelacionadaForm(data={})
assert not form.is_valid()
errors = form.errors
assert errors['tipo'] == [_('Este campo é obrigatório.')]
assert errors['numero'] == [_('Este campo é obrigatório.')]
assert errors['ano'] == [_('Este campo é obrigatório.')]
assert errors['tipo_vinculo'] == [_('Este campo é obrigatório.')]
assert len(errors) == 4

8
sapl/parlamentares/forms.py

@ -73,15 +73,15 @@ class MandatoForm(ModelForm):
if data_inicio_mandato: if data_inicio_mandato:
if (data_inicio_mandato < legislatura.data_inicio or if (data_inicio_mandato < legislatura.data_inicio or
data_inicio_mandato > legislatura.data_fim): data_inicio_mandato > legislatura.data_fim):
raise ValidationError(_("Data início mandato fora do intervalo " raise ValidationError(_("Data início mandato fora do intervalo"
"de legislatura informada")) " de legislatura informada"))
data_fim_mandato = data['data_fim_mandato'] data_fim_mandato = data['data_fim_mandato']
if data_fim_mandato: if data_fim_mandato:
if (data_fim_mandato < legislatura.data_inicio or if (data_fim_mandato < legislatura.data_inicio or
data_fim_mandato > legislatura.data_fim): data_fim_mandato > legislatura.data_fim):
raise ValidationError(_("Data fim mandato fora do intervalo de " raise ValidationError(_("Data fim mandato fora do intervalo de"
"legislatura informada")) " legislatura informada"))
existe_mandato = Mandato.objects.filter( existe_mandato = Mandato.objects.filter(
parlamentar=data['parlamentar'], parlamentar=data['parlamentar'],

35
sapl/parlamentares/tests/test_parlamentares.py

@ -3,7 +3,7 @@ from django.core.urlresolvers import reverse
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from model_mommy import mommy from model_mommy import mommy
from sapl.parlamentares.forms import (LegislaturaForm, MandatoForm) from sapl.parlamentares.forms import (FrenteForm, LegislaturaForm, MandatoForm)
from sapl.parlamentares.models import (Dependente, Filiacao, Legislatura, from sapl.parlamentares.models import (Dependente, Filiacao, Legislatura,
Mandato, Parlamentar, Partido, Mandato, Parlamentar, Partido,
TipoDependente) TipoDependente)
@ -181,7 +181,9 @@ def test_mandato_form_duplicado():
assert not form.is_valid() assert not form.is_valid()
assert form.errors['__all__'] == [_('Mandato nesta legislatura já existe.')] assert form.errors['__all__'] == [
_('Mandato nesta legislatura já existe.')]
@pytest.mark.django_db(transaction=False) @pytest.mark.django_db(transaction=False)
def test_mandato_form_datas_invalidas(): def test_mandato_form_datas_invalidas():
@ -230,6 +232,7 @@ def test_legislatura_form_invalido():
assert len(errors) == 4 assert len(errors) == 4
def test_legislatura_form_datas_invalidas(): def test_legislatura_form_datas_invalidas():
legislatura_form = LegislaturaForm(data={'numero': '1', legislatura_form = LegislaturaForm(data={'numero': '1',
@ -254,3 +257,31 @@ def test_legislatura_form_datas_invalidas():
assert legislatura_form.errors['__all__'] == \ assert legislatura_form.errors['__all__'] == \
[_("Intervalo de início e fim inválido para legislatura.")] [_("Intervalo de início e fim inválido para legislatura.")]
@pytest.mark.django_db(transaction=False)
def test_valida_campos_obrigatorios_frente_form():
form = FrenteForm(data={})
assert not form.is_valid()
errors = form.errors
assert errors['nome'] == [_('Este campo é obrigatório.')]
assert errors['data_criacao'] == [_('Este campo é obrigatório.')]
assert len(errors) == 2
@pytest.mark.django_db(transaction=False)
def test_frente_form_valido():
parlamentares = mommy.make(Parlamentar)
form = FrenteForm(data={'nome': 'Nome da Frente',
'parlamentar': str(parlamentares.pk),
'data_criacao': '10/11/2017',
'data_extincao': '10/12/2017',
'descricao': 'teste'
})
assert form.is_valid()

9
sapl/protocoloadm/tests/test_protocoloadm.py

@ -6,11 +6,12 @@ from django.utils.encoding import force_text
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from model_mommy import mommy from model_mommy import mommy
from sapl.materia.models import (MateriaLegislativa, UnidadeTramitacao) from sapl.materia.models import UnidadeTramitacao
from sapl.protocoloadm.forms import (AnularProcoloAdmForm, from sapl.protocoloadm.forms import (AnularProcoloAdmForm,
DocumentoAdministrativoForm, DocumentoAdministrativoForm,
MateriaLegislativa,
ProtocoloDocumentForm, ProtocoloDocumentForm,
ProtocoloMateriaForm,) ProtocoloMateriaForm)
from sapl.protocoloadm.models import (DocumentoAdministrativo, Protocolo, from sapl.protocoloadm.models import (DocumentoAdministrativo, Protocolo,
StatusTramitacaoAdministrativo, StatusTramitacaoAdministrativo,
TipoDocumentoAdministrativo, TipoDocumentoAdministrativo,
@ -258,7 +259,6 @@ def test_create_tramitacao(admin_client):
@pytest.mark.django_db(transaction=False) @pytest.mark.django_db(transaction=False)
def test_anular_protocolo_dados_invalidos(): def test_anular_protocolo_dados_invalidos():
protocolo = mommy.make(Protocolo, pk=1, numero=1, ano=2017)
form = AnularProcoloAdmForm(data={}) form = AnularProcoloAdmForm(data={})
@ -300,6 +300,7 @@ def test_anular_protocolo_form_anula_protocolo_anulado():
assert form.errors['__all__'] == [_( assert form.errors['__all__'] == [_(
'Protocolo 1/2017 já encontra-se anulado')] 'Protocolo 1/2017 já encontra-se anulado')]
@pytest.mark.django_db(transaction=False) @pytest.mark.django_db(transaction=False)
def test_anular_protocolo_form_anula_protocolo_com_doc_vinculado(): def test_anular_protocolo_form_anula_protocolo_com_doc_vinculado():
tipo_materia = mommy.make(TipoMateriaLegislativa) tipo_materia = mommy.make(TipoMateriaLegislativa)
@ -326,6 +327,7 @@ def test_anular_protocolo_form_anula_protocolo_com_doc_vinculado():
"documentos vinculados a ele.")] "documentos vinculados a ele.")]
tipo_documento = mommy.make(TipoDocumentoAdministrativo) tipo_documento = mommy.make(TipoDocumentoAdministrativo)
protocolo_documento = mommy.make(Protocolo, protocolo_documento = mommy.make(Protocolo,
numero=2, numero=2,
ano=2017, ano=2017,
@ -397,6 +399,7 @@ def test_protocolo_documento_form_invalido():
assert len(errors) == 5 assert len(errors) == 5
def test_protocolo_materia_invalido(): def test_protocolo_materia_invalido():
form = ProtocoloMateriaForm(data={}) form = ProtocoloMateriaForm(data={})

61
sapl/sessao/tests/test_sessao.py

@ -2,7 +2,7 @@ import pytest
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from model_mommy import mommy from model_mommy import mommy
from sapl.parlamentares.models import Legislatura, SessaoLegislativa from sapl.parlamentares.models import Legislatura, Partido, SessaoLegislativa
from sapl.sessao import forms from sapl.sessao import forms
from sapl.sessao.models import SessaoPlenaria, TipoSessaoPlenaria from sapl.sessao.models import SessaoPlenaria, TipoSessaoPlenaria
@ -14,12 +14,12 @@ def test_valida_campos_obrigatorios_sessao_plenaria_form():
errors = form.errors errors = form.errors
assert errors['legislatura'] == ['Este campo é obrigatório.'] assert errors['legislatura'] == [_('Este campo é obrigatório.')]
assert errors['sessao_legislativa'] == ['Este campo é obrigatório.'] assert errors['sessao_legislativa'] == [_('Este campo é obrigatório.')]
assert errors['tipo'] == ['Este campo é obrigatório.'] assert errors['tipo'] == [_('Este campo é obrigatório.')]
assert errors['numero'] == ['Este campo é obrigatório.'] assert errors['numero'] == [_('Este campo é obrigatório.')]
assert errors['data_inicio'] == ['Este campo é obrigatório.'] assert errors['data_inicio'] == [_('Este campo é obrigatório.')]
assert errors['hora_inicio'] == ['Este campo é obrigatório.'] assert errors['hora_inicio'] == [_('Este campo é obrigatório.')]
assert len(errors) == 6 assert len(errors) == 6
@ -66,3 +66,50 @@ def test_numero_duplicado_sessao_plenaria_form():
"para a Legislatura, Sessão Legislativa " "para a Legislatura, Sessão Legislativa "
"e Tipo informados. Favor escolher um " "e Tipo informados. Favor escolher um "
"número distinto."] "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')]

Loading…
Cancel
Save