Browse Source

ajusta teste de criação de proposição

pull/3371/head
Leandro Roberto 5 years ago
parent
commit
655f82811e
  1. 118
      sapl/materia/tests/test_materia.py

118
sapl/materia/tests/test_materia.py

@ -1,22 +1,23 @@
from datetime import date
from django.contrib.auth import get_user_model
from django.contrib.contenttypes.models import ContentType
from django.core.files.uploadedfile import SimpleUploadedFile
from django.urls import reverse
from django.db.models import Max
from django.urls import reverse
from model_bakery import baker
import pytest
from sapl.base.models import Autor, TipoAutor, AppConfig
from sapl.comissoes.models import Comissao, TipoComissao
from sapl.materia.forms import (TramitacaoForm, compara_tramitacoes_mat,
TramitacaoUpdateForm)
from sapl.materia.models import (Anexada, Autoria, DespachoInicial,
DocumentoAcessorio, MateriaLegislativa,
Numeracao, Proposicao, RegimeTramitacao,
StatusTramitacao, TipoDocumento,
TipoMateriaLegislativa, TipoProposicao,
Tramitacao, UnidadeTramitacao)
from sapl.materia.forms import (TramitacaoForm, compara_tramitacoes_mat,
TramitacaoUpdateForm)
from sapl.norma.models import (LegislacaoCitada, NormaJuridica,
TipoNormaJuridica)
from sapl.parlamentares.models import Legislatura
@ -123,6 +124,7 @@ def test_lista_materias_anexadas_ciclo():
assert len(lista) == 1
assert lista[0] == materia_anexada
@pytest.mark.django_db(transaction=False)
def make_unidade_tramitacao(descricao):
# Cria uma comissão para ser a unidade de tramitação
@ -551,9 +553,9 @@ def test_proposicao_submit(admin_client):
autor = baker.make(
Autor,
user=user,
tipo=tipo_autor,
nome='Autor Teste')
autor.operadores.add(user)
file_content = 'file_content'
texto = SimpleUploadedFile("file.txt", file_content.encode('UTF-8'))
@ -597,9 +599,9 @@ def test_form_errors_proposicao(admin_client):
autor = baker.make(
Autor,
user=user,
tipo=tipo_autor,
nome='Autor Teste')
autor.operadores.add(user)
file_content = 'file_content'
texto = SimpleUploadedFile("file.txt", file_content.encode('UTF-8'))
@ -730,7 +732,6 @@ def test_tramitacoes_materias_anexadas(admin_client):
data_anexacao="2020-11-05"
)
unidade_tramitacao_local_1 = make_unidade_tramitacao(descricao="Teste 1")
unidade_tramitacao_destino_1 = make_unidade_tramitacao(descricao="Teste 2")
unidade_tramitacao_destino_2 = make_unidade_tramitacao(descricao="Teste 3")
@ -752,20 +753,25 @@ def test_tramitacoes_materias_anexadas(admin_client):
assert form.is_valid()
tramitacao_principal = form.save()
tramitacao_anexada = materia_anexada.tramitacao_set.order_by('-data_tramitacao', '-id').first()
tramitacao_anexada_anexada = materia_anexada_anexada.tramitacao_set.order_by('-data_tramitacao', '-id').first()
# Verifica se foram criadas as tramitações para as matérias anexadas e anexadas às anexadas
assert materia_principal.tramitacao_set.order_by('-data_tramitacao', '-id').first() == tramitacao_principal
assert tramitacao_principal.materia.em_tramitacao == (tramitacao_principal.status.indicador != "F")
tramitacao_anexada = materia_anexada.tramitacao_set.order_by(
'-data_tramitacao', '-id').first()
tramitacao_anexada_anexada = materia_anexada_anexada.tramitacao_set.order_by(
'-data_tramitacao', '-id').first()
# Verifica se foram criadas as tramitações para as matérias anexadas e
# anexadas às anexadas
assert materia_principal.tramitacao_set.order_by(
'-data_tramitacao', '-id').first() == tramitacao_principal
assert tramitacao_principal.materia.em_tramitacao == (
tramitacao_principal.status.indicador != "F")
assert compara_tramitacoes_mat(tramitacao_principal, tramitacao_anexada)
assert MateriaLegislativa.objects.get(id=materia_anexada.pk).em_tramitacao \
== (tramitacao_anexada.status.indicador != "F")
assert compara_tramitacoes_mat(tramitacao_anexada_anexada, tramitacao_principal)
assert compara_tramitacoes_mat(
tramitacao_anexada_anexada, tramitacao_principal)
assert MateriaLegislativa.objects.get(id=materia_anexada_anexada.pk).em_tramitacao \
== (tramitacao_anexada_anexada.status.indicador != "F")
# Teste Edição de Tramitacao
form = TramitacaoUpdateForm(data={})
# Alterando unidade_tramitacao_destino
@ -779,22 +785,23 @@ def test_tramitacoes_materias_anexadas(admin_client):
assert form.is_valid()
tramitacao_principal = form.save()
tramitacao_anexada = materia_anexada.tramitacao_set.order_by('-data_tramitacao', '-id').first()
tramitacao_anexada_anexada = materia_anexada_anexada.tramitacao_set.order_by('-data_tramitacao', '-id').first()
tramitacao_anexada = materia_anexada.tramitacao_set.order_by(
'-data_tramitacao', '-id').first()
tramitacao_anexada_anexada = materia_anexada_anexada.tramitacao_set.order_by(
'-data_tramitacao', '-id').first()
assert tramitacao_principal.unidade_tramitacao_destino == unidade_tramitacao_destino_2
assert tramitacao_anexada.unidade_tramitacao_destino == unidade_tramitacao_destino_2
assert tramitacao_anexada_anexada.unidade_tramitacao_destino == unidade_tramitacao_destino_2
# Teste Remoção de Tramitacao
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() == 0
assert Tramitacao.objects.filter(id=tramitacao_anexada_anexada.pk).count() == 0
assert Tramitacao.objects.filter(
id=tramitacao_anexada_anexada.pk).count() == 0
# Testes para quando as tramitações das anexadas divergem
form = TramitacaoForm(data={})
@ -809,8 +816,10 @@ def test_tramitacoes_materias_anexadas(admin_client):
assert form.is_valid()
tramitacao_principal = form.save()
tramitacao_anexada = materia_anexada.tramitacao_set.order_by('-data_tramitacao', '-id').first()
tramitacao_anexada_anexada = materia_anexada_anexada.tramitacao_set.order_by('-data_tramitacao', '-id').first()
tramitacao_anexada = materia_anexada.tramitacao_set.order_by(
'-data_tramitacao', '-id').first()
tramitacao_anexada_anexada = materia_anexada_anexada.tramitacao_set.order_by(
'-data_tramitacao', '-id').first()
form = TramitacaoUpdateForm(data={})
# Alterando unidade_tramitacao_destino
@ -825,13 +834,15 @@ def test_tramitacoes_materias_anexadas(admin_client):
assert form.is_valid()
tramitacao_anexada = form.save()
tramitacao_anexada_anexada = materia_anexada_anexada.tramitacao_set.order_by('-data_tramitacao', '-id').first()
tramitacao_anexada_anexada = materia_anexada_anexada.tramitacao_set.order_by(
'-data_tramitacao', '-id').first()
assert tramitacao_principal.unidade_tramitacao_destino == unidade_tramitacao_destino_1
assert tramitacao_anexada.unidade_tramitacao_destino == unidade_tramitacao_destino_2
assert tramitacao_anexada_anexada.unidade_tramitacao_destino == unidade_tramitacao_destino_2
# Editando a tramitação principal, as tramitações anexadas não devem ser editadas
# Editando a tramitação principal, as tramitações anexadas não devem ser
# editadas
form = TramitacaoUpdateForm(data={})
# Alterando o texto
form.data = {'data_tramitacao': tramitacao_principal.data_tramitacao,
@ -844,28 +855,33 @@ def test_tramitacoes_materias_anexadas(admin_client):
assert form.is_valid()
tramitacao_principal = form.save()
tramitacao_anexada = materia_anexada.tramitacao_set.order_by('-data_tramitacao', '-id').first()
tramitacao_anexada_anexada = materia_anexada_anexada.tramitacao_set.order_by('-data_tramitacao', '-id').first()
tramitacao_anexada = materia_anexada.tramitacao_set.order_by(
'-data_tramitacao', '-id').first()
tramitacao_anexada_anexada = materia_anexada_anexada.tramitacao_set.order_by(
'-data_tramitacao', '-id').first()
assert tramitacao_principal.texto == "Testando a alteração"
assert not tramitacao_anexada.texto == "Testando a alteração"
assert not tramitacao_anexada_anexada.texto == "Testando a alteração"
# Removendo a tramitação pricipal, as tramitações anexadas não devem ser removidas, pois divergiram
# Removendo a tramitação pricipal, as tramitações anexadas não devem ser
# removidas, pois divergiram
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
assert Tramitacao.objects.filter(id=tramitacao_anexada_anexada.pk).count() == 1
assert Tramitacao.objects.filter(
id=tramitacao_anexada_anexada.pk).count() == 1
# Removendo a tramitação anexada, a tramitação anexada à anexada deve ser removida
# Removendo a tramitação anexada, a tramitação anexada à anexada deve ser
# removida
url = reverse('sapl.materia:tramitacao_delete',
kwargs={'pk': tramitacao_anexada.pk})
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
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
@ -888,16 +904,19 @@ def test_tramitacoes_materias_anexadas(admin_client):
assert form.is_valid()
tramitacao_principal = form.save()
tramitacao_anexada = materia_anexada.tramitacao_set.order_by('-data_tramitacao', '-id').first()
tramitacao_anexada_anexada = materia_anexada_anexada.tramitacao_set.order_by('-data_tramitacao', '-id').first()
tramitacao_anexada = materia_anexada.tramitacao_set.order_by(
'-data_tramitacao', '-id').first()
tramitacao_anexada_anexada = materia_anexada_anexada.tramitacao_set.order_by(
'-data_tramitacao', '-id').first()
# Deve ser criada tramitação apenas para a matéria principal
assert materia_principal.tramitacao_set.order_by('-data_tramitacao', '-id').first() == tramitacao_principal
assert materia_principal.tramitacao_set.order_by(
'-data_tramitacao', '-id').first() == 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
# 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,
@ -910,11 +929,15 @@ def test_tramitacoes_materias_anexadas(admin_client):
assert form.is_valid()
tramitacao_anexada = form.save()
tramitacao_principal = materia_principal.tramitacao_set.order_by('-data_tramitacao', '-id').first()
tramitacao_anexada_anexada = materia_anexada_anexada.tramitacao_set.order_by('-data_tramitacao', '-id').first()
assert materia_anexada.tramitacao_set.order_by('-data_tramitacao', '-id').first() == tramitacao_anexada
assert materia_principal.tramitacao_set.order_by('-data_tramitacao', '-id').all().count() == 1
tramitacao_principal = materia_principal.tramitacao_set.order_by(
'-data_tramitacao', '-id').first()
tramitacao_anexada_anexada = materia_anexada_anexada.tramitacao_set.order_by(
'-data_tramitacao', '-id').first()
assert materia_anexada.tramitacao_set.order_by(
'-data_tramitacao', '-id').first() == tramitacao_anexada
assert materia_principal.tramitacao_set.order_by(
'-data_tramitacao', '-id').all().count() == 1
assert compara_tramitacoes_mat(tramitacao_principal, tramitacao_anexada)
assert not tramitacao_anexada_anexada
@ -931,8 +954,10 @@ def test_tramitacoes_materias_anexadas(admin_client):
assert form.is_valid()
tramitacao_principal = form.save()
tramitacao_anexada = materia_anexada.tramitacao_set.order_by('-data_tramitacao', '-id').first()
tramitacao_anexada_anexada = materia_anexada_anexada.tramitacao_set.order_by('-data_tramitacao', '-id').first()
tramitacao_anexada = materia_anexada.tramitacao_set.order_by(
'-data_tramitacao', '-id').first()
tramitacao_anexada_anexada = materia_anexada_anexada.tramitacao_set.order_by(
'-data_tramitacao', '-id').first()
assert tramitacao_principal.unidade_tramitacao_destino == unidade_tramitacao_destino_2
assert tramitacao_anexada.unidade_tramitacao_destino == unidade_tramitacao_destino_1
@ -951,8 +976,10 @@ def test_tramitacoes_materias_anexadas(admin_client):
assert form.is_valid()
tramitacao_anexada = form.save()
tramitacao_principal = materia_principal.tramitacao_set.order_by('-data_tramitacao', '-id').first()
tramitacao_anexada_anexada = materia_anexada_anexada.tramitacao_set.order_by('-data_tramitacao', '-id').first()
tramitacao_principal = materia_principal.tramitacao_set.order_by(
'-data_tramitacao', '-id').first()
tramitacao_anexada_anexada = materia_anexada_anexada.tramitacao_set.order_by(
'-data_tramitacao', '-id').first()
assert tramitacao_principal.unidade_tramitacao_destino == unidade_tramitacao_destino_2
assert tramitacao_anexada.unidade_tramitacao_destino == unidade_tramitacao_destino_2
@ -960,7 +987,8 @@ def test_tramitacoes_materias_anexadas(admin_client):
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
# 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)

Loading…
Cancel
Save