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. 35
      sapl/parlamentares/tests/test_parlamentares.py
  7. 9
      sapl/protocoloadm/tests/test_protocoloadm.py
  8. 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
import reversion
from django.contrib import messages
from django.contrib.contenttypes.fields import GenericForeignKey
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.encoding import force_text
from django.utils.translation import ugettext_lazy as _
import reversion
from sapl.compilacao.utils import (get_integrations_view_names, int_to_letter,
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
from django.utils.translation import ugettext as _
from model_mommy import mommy
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
@ -39,3 +40,38 @@ def test_tipo_texto_articulado_form_valid(content_type):
})
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 sys
from collections import OrderedDict
from datetime import timedelta
from braces.views import FormMessagesMixin
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.utils.dateparse import parse_date
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 string_concat
from django.views.generic.base import TemplateView
from django.views.generic.detail import DetailView
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.settings import BASE_DIR
TipoNotaCrud = Crud.build(TipoNota, 'tipo_nota')
TipoVideCrud = Crud.build(TipoVide, 'tipo_vide')
TipoPublicacaoCrud = Crud.build(TipoPublicacao, 'tipo_publicacao')

23
sapl/norma/tests/test_norma.py

@ -1,11 +1,13 @@
import pytest
from django.core.urlresolvers import reverse
from django.utils.translation import ugettext_lazy as _
from model_mommy import mommy
from sapl.materia.models import MateriaLegislativa, TipoMateriaLegislativa
from sapl.norma.forms import (NormaJuridicaForm,)
from sapl.norma.models import NormaJuridica, TipoNormaJuridica
from sapl.norma.forms import NormaJuridicaForm, NormaRelacionadaForm
from sapl.norma.models import (NormaJuridica, TipoNormaJuridica)
@pytest.mark.django_db(transaction=False)
@ -96,7 +98,6 @@ def test_norma_juridica_materia_inexistente():
@pytest.mark.django_db(transaction=False)
def test_norma_juridica_materia_existente():
tipo = mommy.make(TipoNormaJuridica)
tipo_materia = mommy.make(TipoMateriaLegislativa)
materia = mommy.make(MateriaLegislativa,
@ -115,3 +116,19 @@ def test_norma_juridica_materia_existente():
'ano_materia': '2017'
})
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

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 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,
Mandato, Parlamentar, Partido,
TipoDependente)
@ -181,7 +181,9 @@ def test_mandato_form_duplicado():
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)
def test_mandato_form_datas_invalidas():
@ -230,6 +232,7 @@ def test_legislatura_form_invalido():
assert len(errors) == 4
def test_legislatura_form_datas_invalidas():
legislatura_form = LegislaturaForm(data={'numero': '1',
@ -254,3 +257,31 @@ def test_legislatura_form_datas_invalidas():
assert legislatura_form.errors['__all__'] == \
[_("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 model_mommy import mommy
from sapl.materia.models import (MateriaLegislativa, UnidadeTramitacao)
from sapl.materia.models import UnidadeTramitacao
from sapl.protocoloadm.forms import (AnularProcoloAdmForm,
DocumentoAdministrativoForm,
MateriaLegislativa,
ProtocoloDocumentForm,
ProtocoloMateriaForm,)
ProtocoloMateriaForm)
from sapl.protocoloadm.models import (DocumentoAdministrativo, Protocolo,
StatusTramitacaoAdministrativo,
TipoDocumentoAdministrativo,
@ -258,7 +259,6 @@ def test_create_tramitacao(admin_client):
@pytest.mark.django_db(transaction=False)
def test_anular_protocolo_dados_invalidos():
protocolo = mommy.make(Protocolo, pk=1, numero=1, ano=2017)
form = AnularProcoloAdmForm(data={})
@ -300,6 +300,7 @@ def test_anular_protocolo_form_anula_protocolo_anulado():
assert form.errors['__all__'] == [_(
'Protocolo 1/2017 já encontra-se anulado')]
@pytest.mark.django_db(transaction=False)
def test_anular_protocolo_form_anula_protocolo_com_doc_vinculado():
tipo_materia = mommy.make(TipoMateriaLegislativa)
@ -326,6 +327,7 @@ def test_anular_protocolo_form_anula_protocolo_com_doc_vinculado():
"documentos vinculados a ele.")]
tipo_documento = mommy.make(TipoDocumentoAdministrativo)
protocolo_documento = mommy.make(Protocolo,
numero=2,
ano=2017,
@ -397,6 +399,7 @@ def test_protocolo_documento_form_invalido():
assert len(errors) == 5
def test_protocolo_materia_invalido():
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 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.models import SessaoPlenaria, TipoSessaoPlenaria
@ -14,12 +14,12 @@ def test_valida_campos_obrigatorios_sessao_plenaria_form():
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 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
@ -66,3 +66,50 @@ def test_numero_duplicado_sessao_plenaria_form():
"para a Legislatura, Sessão Legislativa "
"e Tipo informados. Favor escolher um "
"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