Browse Source

Adiciona testes para as alterações

pull/2810/head
Cesar Carvalho 7 years ago
parent
commit
cf6d9b430e
  1. 105
      sapl/materia/tests/test_materia.py
  2. 180
      sapl/protocoloadm/tests/test_protocoloadm.py

105
sapl/materia/tests/test_materia.py

@ -7,7 +7,7 @@ from django.db.models import Max
from model_mommy import mommy
import pytest
from sapl.base.models import Autor, TipoAutor
from sapl.base.models import Autor, TipoAutor, AppConfig
from sapl.comissoes.models import Comissao, TipoComissao
from sapl.materia.models import (Anexada, Autoria, DespachoInicial,
DocumentoAcessorio, MateriaLegislativa,
@ -688,6 +688,8 @@ def test_numeracao_materia_legislativa_por_ano(admin_client):
@pytest.mark.django_db(transaction=False)
def test_tramitacoes_materias_anexadas(admin_client):
config = mommy.make(AppConfig, tramitacao_materia=True)
tipo_materia = mommy.make(
TipoMateriaLegislativa,
descricao="Tipo_Teste"
@ -859,3 +861,104 @@ def test_tramitacoes_materias_anexadas(admin_client):
response = admin_client.post(url, {'confirmar':'confirmar'} ,follow=True)
assert Tramitacao.objects.filter(id=tramitacao_anexada.pk).count() == 0
assert Tramitacao.objects.filter(id=tramitacao_anexada_anexada.pk).count() == 0
# Agora testando para caso não seja desejado tramitar as matérias anexadas
# junto com as matérias principais
assert Tramitacao.objects.all().count() == 0
config.tramitacao_materia = False
config.save()
# Teste criação de Tramitacao
form = TramitacaoForm(data={})
form.data = {'data_tramitacao':date(2019, 5, 6),
'unidade_tramitacao_local':unidade_tramitacao_local_1.pk,
'unidade_tramitacao_destino':unidade_tramitacao_destino_1.pk,
'status':status.pk,
'urgente': False,
'texto': "Texto de teste"}
form.instance.materia_id=materia_principal.pk
assert form.is_valid()
tramitacao_principal = form.save()
tramitacao_anexada = materia_anexada.tramitacao_set.last()
tramitacao_anexada_anexada = materia_anexada_anexada.tramitacao_set.last()
# Deve ser criada tramitação apenas para a matéria principal
assert materia_principal.tramitacao_set.last() == tramitacao_principal
assert not tramitacao_anexada
assert not tramitacao_anexada_anexada
# Criação de uma tramitação igual para a anexada à principal para testar a edição
form = TramitacaoForm(data={})
form.data = {'data_tramitacao':date(2019, 5, 6),
'unidade_tramitacao_local':unidade_tramitacao_local_1.pk,
'unidade_tramitacao_destino':unidade_tramitacao_destino_1.pk,
'status':status.pk,
'urgente': False,
'texto': "Texto de teste"}
form.instance.materia_id=materia_anexada.pk
assert form.is_valid()
tramitacao_anexada = form.save()
tramitacao_principal = materia_principal.tramitacao_set.last()
tramitacao_anexada_anexada = materia_anexada_anexada.tramitacao_set.last()
assert materia_anexada.tramitacao_set.last() == tramitacao_anexada
assert materia_principal.tramitacao_set.all().count() == 1
assert compara_tramitacoes_mat(tramitacao_principal, tramitacao_anexada)
assert not tramitacao_anexada_anexada
# Teste Edição de Tramitacao
form = TramitacaoUpdateForm(data={})
# Alterando unidade_tramitacao_destino
form.data = {'data_tramitacao':tramitacao_principal.data_tramitacao,
'unidade_tramitacao_local':tramitacao_principal.unidade_tramitacao_local.pk,
'unidade_tramitacao_destino':unidade_tramitacao_destino_2.pk,
'status':tramitacao_principal.status.pk,
'urgente': tramitacao_principal.urgente,
'texto': tramitacao_principal.texto}
form.instance = tramitacao_principal
assert form.is_valid()
tramitacao_principal = form.save()
tramitacao_anexada = materia_anexada.tramitacao_set.last()
tramitacao_anexada_anexada = materia_anexada_anexada.tramitacao_set.last()
assert tramitacao_principal.unidade_tramitacao_destino == unidade_tramitacao_destino_2
assert tramitacao_anexada.unidade_tramitacao_destino == unidade_tramitacao_destino_1
assert not tramitacao_anexada_anexada
# Alterando a tramitação anexada para testar a remoção de tramitações
# Alterando unidade_tramitacao_destino
form = TramitacaoUpdateForm(data={})
form.data = {'data_tramitacao':tramitacao_principal.data_tramitacao,
'unidade_tramitacao_local':tramitacao_principal.unidade_tramitacao_local.pk,
'unidade_tramitacao_destino':unidade_tramitacao_destino_2.pk,
'status':tramitacao_principal.status.pk,
'urgente': tramitacao_principal.urgente,
'texto': tramitacao_principal.texto}
form.instance = tramitacao_anexada
assert form.is_valid()
tramitacao_anexada = form.save()
tramitacao_principal = materia_principal.tramitacao_set.last()
tramitacao_anexada_anexada = materia_anexada_anexada.tramitacao_set.last()
assert tramitacao_principal.unidade_tramitacao_destino == unidade_tramitacao_destino_2
assert tramitacao_anexada.unidade_tramitacao_destino == unidade_tramitacao_destino_2
assert not tramitacao_anexada_anexada
assert compara_tramitacoes_mat(tramitacao_principal, tramitacao_anexada)
# Testando a remoção
# Removendo a tramitação pricipal, as tramitações anexadas não devem ser removidas
url = reverse('sapl.materia:tramitacao_delete',
kwargs={'pk': tramitacao_principal.pk})
response = admin_client.post(url, {'confirmar':'confirmar'} ,follow=True)
assert Tramitacao.objects.filter(id=tramitacao_principal.pk).count() == 0
assert Tramitacao.objects.filter(id=tramitacao_anexada.pk).count() == 1

180
sapl/protocoloadm/tests/test_protocoloadm.py

@ -534,6 +534,9 @@ def make_unidade_tramitacao(descricao):
@pytest.mark.django_db(transaction=False)
def test_tramitacoes_documentos_anexados(admin_client):
config = mommy.make(AppConfig, tramitacao_documento=True)
tipo_documento = mommy.make(
TipoDocumentoAdministrativo,
descricao="Tipo_Teste"
@ -707,6 +710,101 @@ def test_tramitacoes_documentos_anexados(admin_client):
assert TramitacaoAdministrativo.objects.filter(id=tramitacao_anexada_anexada.pk).count() == 0
# Agora testando para caso não seja desejado tramitar os documentos anexados
# junto com os documentos principais
config.tramitacao_documento = False
config.save()
# Teste criação de Tramitacao
form = TramitacaoAdmForm(data={})
form.data = {'data_tramitacao':date(2019, 5, 6),
'unidade_tramitacao_local':unidade_tramitacao_local_1.pk,
'unidade_tramitacao_destino':unidade_tramitacao_destino_1.pk,
'status':status.pk,
'urgente': False,
'texto': "Texto de teste"}
form.instance.documento_id=documento_principal.pk
assert form.is_valid()
tramitacao_principal = form.save()
tramitacao_anexada = documento_anexado.tramitacaoadministrativo_set.last()
tramitacao_anexada_anexada = documento_anexado_anexado.tramitacaoadministrativo_set.last()
# Verifica se não foram criadas as tramitações para os documentos anexados e anexados aos anexados
assert documento_principal.tramitacaoadministrativo_set.last() == tramitacao_principal
assert tramitacao_principal.documento.tramitacao == (tramitacao_principal.status.indicador != "F")
assert not tramitacao_anexada
assert not tramitacao_anexada_anexada
# Cria uma tramitação igual na tramitação anexada para testar a edição
form = TramitacaoAdmForm(data={})
form.data = {'data_tramitacao':date(2019, 5, 6),
'unidade_tramitacao_local':unidade_tramitacao_local_1.pk,
'unidade_tramitacao_destino':unidade_tramitacao_destino_1.pk,
'status':status.pk,
'urgente': False,
'texto': "Texto de teste"}
form.instance.documento_id=documento_anexado.pk
assert form.is_valid()
tramitacao_anexada = form.save()
tramitacao_principal = documento_principal.tramitacaoadministrativo_set.last()
tramitacao_anexada_anexada = documento_anexado_anexado.tramitacaoadministrativo_set.last()
assert documento_principal.tramitacaoadministrativo_set.all().count() == 1
assert documento_anexado.tramitacaoadministrativo_set.last() == tramitacao_anexada
assert not tramitacao_anexada_anexada
form = TramitacaoAdmEditForm(data={})
# Alterando unidade_tramitacao_destino da matéria principal,
# as anexadas não devem ser alteradas
form.data = {'data_tramitacao':tramitacao_principal.data_tramitacao,
'unidade_tramitacao_local':tramitacao_principal.unidade_tramitacao_local.pk,
'unidade_tramitacao_destino':unidade_tramitacao_destino_2.pk,
'status':tramitacao_principal.status.pk,
'urgente': tramitacao_principal.urgente,
'texto': tramitacao_principal.texto}
form.instance = tramitacao_principal
assert form.is_valid()
tramitacao_principal = form.save()
tramitacao_anexada = documento_anexado.tramitacaoadministrativo_set.last()
tramitacao_anexada_anexada = documento_anexado_anexado.tramitacaoadministrativo_set.last()
assert tramitacao_principal.unidade_tramitacao_destino == unidade_tramitacao_destino_2
assert tramitacao_anexada.unidade_tramitacao_destino == unidade_tramitacao_destino_1
assert not tramitacao_anexada_anexada
form = TramitacaoAdmEditForm(data={})
# Alterando a anexada da principal para testar a remoção de tramitação
form.data = {'data_tramitacao':tramitacao_principal.data_tramitacao,
'unidade_tramitacao_local':tramitacao_principal.unidade_tramitacao_local.pk,
'unidade_tramitacao_destino':unidade_tramitacao_destino_2.pk,
'status':tramitacao_principal.status.pk,
'urgente': tramitacao_principal.urgente,
'texto': tramitacao_principal.texto}
form.instance = tramitacao_anexada
assert form.is_valid()
tramitacao_anexada = form.save()
tramitacao_principal = documento_principal.tramitacaoadministrativo_set.last()
tramitacao_anexada_anexada = documento_anexado_anexado.tramitacaoadministrativo_set.last()
assert tramitacao_principal.unidade_tramitacao_destino == unidade_tramitacao_destino_2
assert tramitacao_anexada.unidade_tramitacao_destino == unidade_tramitacao_destino_2
assert not tramitacao_anexada_anexada
assert compara_tramitacoes_doc(tramitacao_anexada, tramitacao_principal)
# Removendo a tramitação principal, a tramitação anexada não deve ser removida
url = reverse('sapl.protocoloadm:tramitacaoadministrativo_delete',
kwargs={'pk': tramitacao_principal.pk})
response = admin_client.post(url, {'confirmar':'confirmar'} ,follow=True)
assert TramitacaoAdministrativo.objects.filter(id=tramitacao_principal.pk).count() == 0
assert TramitacaoAdministrativo.objects.filter(id=tramitacao_anexada.pk).count() == 1
@pytest.mark.django_db(transaction=False)
def test_tramitacao_lote_documentos_form(admin_client):
tipo_documento = mommy.make(
@ -812,6 +910,8 @@ def test_tramitacao_lote_documentos_form(admin_client):
@pytest.mark.django_db(transaction=False)
def test_tramitacao_lote_documentos_views(admin_client):
config = mommy.make(AppConfig, tramitacao_documento=True)
tipo_documento = mommy.make(
TipoDocumentoAdministrativo,
descricao="Tipo_Teste"
@ -1040,3 +1140,83 @@ def test_tramitacao_lote_documentos_views(admin_client):
assert documento_principal.tramitacaoadministrativo_set.all().count() == 3
assert documento_anexado.tramitacaoadministrativo_set.all().count() == 3
assert documento_anexado_anexado.tramitacaoadministrativo_set.all().count() == 3
# Agora testando para caso não seja desejado tramitar os documentos anexados
# junto com os documentos principais
config.tramitacao_documento = False
config.save()
TramitacaoAdministrativo.objects.all().delete()
assert TramitacaoAdministrativo.objects.all().count() == 0
# Primeira tramitação em lote
# Tramitar documentos com anexados
# O documento anexado não deve tramitar junto com o prinicpal
documentos = [documento_principal.id]
response = admin_client.post(url,
{'documentos': documentos,
'data_tramitacao': date(2019, 5, 15),
'unidade_tramitacao_local': unidade_tramitacao_local_1.id,
'unidade_tramitacao_destino': unidade_tramitacao_destino_1.id,
'status': status.id,
'urgente': False,
'texto': 'aaaa',
'salvar':'salvar'},
follow=True)
assert response.status_code == 200
assert TramitacaoAdministrativo.objects.all().count() == 1
assert documento_principal.tramitacaoadministrativo_set.all().count() == 1
assert documento_anexado.tramitacaoadministrativo_set.all().count() == 0
assert documento_anexado_anexado.tramitacaoadministrativo_set.all().count() == 0
# Tramitar o doc anexado ao principal para testar a segunda tramitação em lote
documentos = [documento_anexado.id]
response = admin_client.post(url,
{'documentos': documentos,
'data_tramitacao': date(2019, 5, 15),
'unidade_tramitacao_local': unidade_tramitacao_local_1.id,
'unidade_tramitacao_destino': unidade_tramitacao_destino_1.id,
'status': status.id,
'urgente': False,
'texto': 'aaaa',
'salvar':'salvar'},
follow=True)
assert response.status_code == 200
assert TramitacaoAdministrativo.objects.all().count() == 2
assert documento_principal.tramitacaoadministrativo_set.all().count() == 1
assert documento_anexado.tramitacaoadministrativo_set.all().count() == 1
assert documento_anexado_anexado.tramitacaoadministrativo_set.all().count() == 0
tramitacao_principal = documento_principal.tramitacaoadministrativo_set.last()
tramitacao_anexada = documento_anexado.tramitacaoadministrativo_set.last()
assert compara_tramitacoes_doc(tramitacao_anexada, tramitacao_principal)
documentos = [documento_principal.id]
# Segunda tramitação, o documento anexado não deve tramitar com o principal
response = admin_client.post(url_lote,
{'documentos': documentos,
'data_tramitacao': date(2019, 5, 15),
'unidade_tramitacao_local': unidade_tramitacao_destino_1.id,
'unidade_tramitacao_destino': unidade_tramitacao_destino_2.id,
'status': status.id,
'urgente': False,
'texto': 'aaaa',
'salvar':'salvar'},
follow=True)
assert response.status_code == 200
msgs = [m.message for m in response.context['messages']]
assert 'Tramitação completa.' in msgs
assert TramitacaoAdministrativo.objects.all().count() == 3
assert documento_principal.tramitacaoadministrativo_set.all().count() == 2
assert documento_anexado.tramitacaoadministrativo_set.all().count() == 1
assert documento_anexado_anexado.tramitacaoadministrativo_set.all().count() == 0
Loading…
Cancel
Save