Browse Source

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

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

414
sapl/materia/tests/test_materia.py

@ -1,22 +1,23 @@
from datetime import date from datetime import date
from django.contrib.auth import get_user_model from django.contrib.auth import get_user_model
from django.contrib.contenttypes.models import ContentType from django.contrib.contenttypes.models import ContentType
from django.core.files.uploadedfile import SimpleUploadedFile from django.core.files.uploadedfile import SimpleUploadedFile
from django.urls import reverse
from django.db.models import Max from django.db.models import Max
from django.urls import reverse
from model_bakery import baker from model_bakery import baker
import pytest import pytest
from sapl.base.models import Autor, TipoAutor, AppConfig from sapl.base.models import Autor, TipoAutor, AppConfig
from sapl.comissoes.models import Comissao, TipoComissao 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, from sapl.materia.models import (Anexada, Autoria, DespachoInicial,
DocumentoAcessorio, MateriaLegislativa, DocumentoAcessorio, MateriaLegislativa,
Numeracao, Proposicao, RegimeTramitacao, Numeracao, Proposicao, RegimeTramitacao,
StatusTramitacao, TipoDocumento, StatusTramitacao, TipoDocumento,
TipoMateriaLegislativa, TipoProposicao, TipoMateriaLegislativa, TipoProposicao,
Tramitacao, UnidadeTramitacao) Tramitacao, UnidadeTramitacao)
from sapl.materia.forms import (TramitacaoForm, compara_tramitacoes_mat,
TramitacaoUpdateForm)
from sapl.norma.models import (LegislacaoCitada, NormaJuridica, from sapl.norma.models import (LegislacaoCitada, NormaJuridica,
TipoNormaJuridica) TipoNormaJuridica)
from sapl.parlamentares.models import Legislatura from sapl.parlamentares.models import Legislatura
@ -25,57 +26,57 @@ from sapl.utils import models_with_gr_for_model, lista_anexados
@pytest.mark.django_db(transaction=False) @pytest.mark.django_db(transaction=False)
def test_lista_materias_anexadas(): def test_lista_materias_anexadas():
tipo_materia = baker.make( tipo_materia = baker.make(
TipoMateriaLegislativa, TipoMateriaLegislativa,
descricao="Tipo_Teste" descricao="Tipo_Teste"
) )
regime_tramitacao = baker.make( regime_tramitacao = baker.make(
RegimeTramitacao, RegimeTramitacao,
descricao="Regime_Teste" descricao="Regime_Teste"
) )
materia_principal = baker.make( materia_principal = baker.make(
MateriaLegislativa, MateriaLegislativa,
numero=20, numero=20,
ano=2018, ano=2018,
data_apresentacao="2018-01-04", data_apresentacao="2018-01-04",
regime_tramitacao=regime_tramitacao, regime_tramitacao=regime_tramitacao,
tipo=tipo_materia tipo=tipo_materia
) )
materia_anexada = baker.make( materia_anexada = baker.make(
MateriaLegislativa, MateriaLegislativa,
numero=21, numero=21,
ano=2019, ano=2019,
data_apresentacao="2019-05-04", data_apresentacao="2019-05-04",
regime_tramitacao=regime_tramitacao, regime_tramitacao=regime_tramitacao,
tipo=tipo_materia tipo=tipo_materia
) )
materia_anexada_anexada = baker.make( materia_anexada_anexada = baker.make(
MateriaLegislativa, MateriaLegislativa,
numero=22, numero=22,
ano=2020, ano=2020,
data_apresentacao="2020-01-05", data_apresentacao="2020-01-05",
regime_tramitacao=regime_tramitacao, regime_tramitacao=regime_tramitacao,
tipo=tipo_materia tipo=tipo_materia
) )
baker.make( baker.make(
Anexada, Anexada,
materia_principal=materia_principal, materia_principal=materia_principal,
materia_anexada=materia_anexada, materia_anexada=materia_anexada,
data_anexacao="2019-05-11" data_anexacao="2019-05-11"
) )
baker.make( baker.make(
Anexada, Anexada,
materia_principal=materia_anexada, materia_principal=materia_anexada,
materia_anexada=materia_anexada_anexada, materia_anexada=materia_anexada_anexada,
data_anexacao="2020-11-05" data_anexacao="2020-11-05"
) )
lista = lista_anexados(materia_principal) lista = lista_anexados(materia_principal)
assert len(lista) == 2 assert len(lista) == 2
assert lista[0] == materia_anexada assert lista[0] == materia_anexada
assert lista[1] == materia_anexada_anexada assert lista[1] == materia_anexada_anexada
@pytest.mark.django_db(transaction=False) @pytest.mark.django_db(transaction=False)
@ -123,6 +124,7 @@ def test_lista_materias_anexadas_ciclo():
assert len(lista) == 1 assert len(lista) == 1
assert lista[0] == materia_anexada assert lista[0] == materia_anexada
@pytest.mark.django_db(transaction=False) @pytest.mark.django_db(transaction=False)
def make_unidade_tramitacao(descricao): def make_unidade_tramitacao(descricao):
# Cria uma comissão para ser a unidade de tramitação # Cria uma comissão para ser a unidade de tramitação
@ -526,7 +528,7 @@ def test_form_errors_tramitacao(admin_client):
['Este campo é obrigatório.']) ['Este campo é obrigatório.'])
assert (response.context_data['form'].errors[ assert (response.context_data['form'].errors[
'unidade_tramitacao_destino'] == ['Este campo é obrigatório.']) 'unidade_tramitacao_destino'] == ['Este campo é obrigatório.'])
@pytest.mark.django_db(transaction=False) @pytest.mark.django_db(transaction=False)
def test_form_errors_relatoria(admin_client): def test_form_errors_relatoria(admin_client):
@ -551,9 +553,9 @@ def test_proposicao_submit(admin_client):
autor = baker.make( autor = baker.make(
Autor, Autor,
user=user,
tipo=tipo_autor, tipo=tipo_autor,
nome='Autor Teste') nome='Autor Teste')
autor.operadores.add(user)
file_content = 'file_content' file_content = 'file_content'
texto = SimpleUploadedFile("file.txt", file_content.encode('UTF-8')) texto = SimpleUploadedFile("file.txt", file_content.encode('UTF-8'))
@ -597,9 +599,9 @@ def test_form_errors_proposicao(admin_client):
autor = baker.make( autor = baker.make(
Autor, Autor,
user=user,
tipo=tipo_autor, tipo=tipo_autor,
nome='Autor Teste') nome='Autor Teste')
autor.operadores.add(user)
file_content = 'file_content' file_content = 'file_content'
texto = SimpleUploadedFile("file.txt", file_content.encode('UTF-8')) texto = SimpleUploadedFile("file.txt", file_content.encode('UTF-8'))
@ -695,42 +697,41 @@ def test_tramitacoes_materias_anexadas(admin_client):
config = baker.make(AppConfig, tramitacao_materia=True) config = baker.make(AppConfig, tramitacao_materia=True)
tipo_materia = baker.make( tipo_materia = baker.make(
TipoMateriaLegislativa, TipoMateriaLegislativa,
descricao="Tipo_Teste" descricao="Tipo_Teste"
) )
materia_principal = baker.make( materia_principal = baker.make(
MateriaLegislativa, MateriaLegislativa,
ano=2018, ano=2018,
data_apresentacao="2018-01-04", data_apresentacao="2018-01-04",
tipo=tipo_materia tipo=tipo_materia
) )
materia_anexada = baker.make( materia_anexada = baker.make(
MateriaLegislativa, MateriaLegislativa,
ano=2019, ano=2019,
data_apresentacao="2019-05-04", data_apresentacao="2019-05-04",
tipo=tipo_materia tipo=tipo_materia
) )
materia_anexada_anexada = baker.make( materia_anexada_anexada = baker.make(
MateriaLegislativa, MateriaLegislativa,
ano=2020, ano=2020,
data_apresentacao="2020-01-05", data_apresentacao="2020-01-05",
tipo=tipo_materia tipo=tipo_materia
) )
baker.make( baker.make(
Anexada, Anexada,
materia_principal=materia_principal, materia_principal=materia_principal,
materia_anexada=materia_anexada, materia_anexada=materia_anexada,
data_anexacao="2019-05-11" data_anexacao="2019-05-11"
) )
baker.make( baker.make(
Anexada, Anexada,
materia_principal=materia_anexada, materia_principal=materia_anexada,
materia_anexada=materia_anexada_anexada, materia_anexada=materia_anexada_anexada,
data_anexacao="2020-11-05" data_anexacao="2020-11-05"
) )
unidade_tramitacao_local_1 = make_unidade_tramitacao(descricao="Teste 1") unidade_tramitacao_local_1 = make_unidade_tramitacao(descricao="Teste 1")
unidade_tramitacao_destino_1 = make_unidade_tramitacao(descricao="Teste 2") unidade_tramitacao_destino_1 = make_unidade_tramitacao(descricao="Teste 2")
unidade_tramitacao_destino_2 = make_unidade_tramitacao(descricao="Teste 3") unidade_tramitacao_destino_2 = make_unidade_tramitacao(descricao="Teste 3")
@ -741,131 +742,146 @@ def test_tramitacoes_materias_anexadas(admin_client):
# Teste criação de Tramitacao # Teste criação de Tramitacao
form = TramitacaoForm(data={}) form = TramitacaoForm(data={})
form.data = {'data_tramitacao':date(2019, 5, 6), form.data = {'data_tramitacao': date(2019, 5, 6),
'unidade_tramitacao_local':unidade_tramitacao_local_1.pk, 'unidade_tramitacao_local': unidade_tramitacao_local_1.pk,
'unidade_tramitacao_destino':unidade_tramitacao_destino_1.pk, 'unidade_tramitacao_destino': unidade_tramitacao_destino_1.pk,
'status':status.pk, 'status': status.pk,
'urgente': False, 'urgente': False,
'texto': "Texto de teste"} 'texto': "Texto de teste"}
form.instance.materia_id=materia_principal.pk form.instance.materia_id = materia_principal.pk
assert form.is_valid() assert form.is_valid()
tramitacao_principal = form.save() tramitacao_principal = form.save()
tramitacao_anexada = materia_anexada.tramitacao_set.order_by('-data_tramitacao', '-id').first() tramitacao_anexada = materia_anexada.tramitacao_set.order_by(
tramitacao_anexada_anexada = materia_anexada_anexada.tramitacao_set.order_by('-data_tramitacao', '-id').first() '-data_tramitacao', '-id').first()
tramitacao_anexada_anexada = materia_anexada_anexada.tramitacao_set.order_by(
# Verifica se foram criadas as tramitações para as matérias anexadas e anexadas às anexadas '-data_tramitacao', '-id').first()
assert materia_principal.tramitacao_set.order_by('-data_tramitacao', '-id').first() == tramitacao_principal
assert tramitacao_principal.materia.em_tramitacao == (tramitacao_principal.status.indicador != "F") # 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 compara_tramitacoes_mat(tramitacao_principal, tramitacao_anexada)
assert MateriaLegislativa.objects.get(id=materia_anexada.pk).em_tramitacao \ assert MateriaLegislativa.objects.get(id=materia_anexada.pk).em_tramitacao \
== (tramitacao_anexada.status.indicador != "F") == (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 \ assert MateriaLegislativa.objects.get(id=materia_anexada_anexada.pk).em_tramitacao \
== (tramitacao_anexada_anexada.status.indicador != "F") == (tramitacao_anexada_anexada.status.indicador != "F")
# Teste Edição de Tramitacao # Teste Edição de Tramitacao
form = TramitacaoUpdateForm(data={}) form = TramitacaoUpdateForm(data={})
# Alterando unidade_tramitacao_destino # Alterando unidade_tramitacao_destino
form.data = {'data_tramitacao':tramitacao_principal.data_tramitacao, form.data = {'data_tramitacao': tramitacao_principal.data_tramitacao,
'unidade_tramitacao_local':tramitacao_principal.unidade_tramitacao_local.pk, 'unidade_tramitacao_local': tramitacao_principal.unidade_tramitacao_local.pk,
'unidade_tramitacao_destino':unidade_tramitacao_destino_2.pk, 'unidade_tramitacao_destino': unidade_tramitacao_destino_2.pk,
'status':tramitacao_principal.status.pk, 'status': tramitacao_principal.status.pk,
'urgente': tramitacao_principal.urgente, 'urgente': tramitacao_principal.urgente,
'texto': tramitacao_principal.texto} 'texto': tramitacao_principal.texto}
form.instance = tramitacao_principal form.instance = tramitacao_principal
assert form.is_valid() assert form.is_valid()
tramitacao_principal = form.save() tramitacao_principal = form.save()
tramitacao_anexada = materia_anexada.tramitacao_set.order_by('-data_tramitacao', '-id').first() tramitacao_anexada = materia_anexada.tramitacao_set.order_by(
tramitacao_anexada_anexada = materia_anexada_anexada.tramitacao_set.order_by('-data_tramitacao', '-id').first() '-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_principal.unidade_tramitacao_destino == unidade_tramitacao_destino_2
assert tramitacao_anexada.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 assert tramitacao_anexada_anexada.unidade_tramitacao_destino == unidade_tramitacao_destino_2
# Teste Remoção de Tramitacao # Teste Remoção de Tramitacao
url = reverse('sapl.materia:tramitacao_delete', url = reverse('sapl.materia:tramitacao_delete',
kwargs={'pk': tramitacao_principal.pk}) kwargs={'pk': tramitacao_principal.pk})
response = admin_client.post(url, {'confirmar':'confirmar'} ,follow=True) 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_principal.pk).count() == 0
assert Tramitacao.objects.filter(id=tramitacao_anexada.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 # Testes para quando as tramitações das anexadas divergem
form = TramitacaoForm(data={}) form = TramitacaoForm(data={})
form.data = {'data_tramitacao':date(2019, 5, 6), form.data = {'data_tramitacao': date(2019, 5, 6),
'unidade_tramitacao_local':unidade_tramitacao_local_1.pk, 'unidade_tramitacao_local': unidade_tramitacao_local_1.pk,
'unidade_tramitacao_destino':unidade_tramitacao_destino_1.pk, 'unidade_tramitacao_destino': unidade_tramitacao_destino_1.pk,
'status':status.pk, 'status': status.pk,
'urgente': False, 'urgente': False,
'texto': "Texto de teste"} 'texto': "Texto de teste"}
form.instance.materia_id=materia_principal.pk form.instance.materia_id = materia_principal.pk
assert form.is_valid() assert form.is_valid()
tramitacao_principal = form.save() tramitacao_principal = form.save()
tramitacao_anexada = materia_anexada.tramitacao_set.order_by('-data_tramitacao', '-id').first() tramitacao_anexada = materia_anexada.tramitacao_set.order_by(
tramitacao_anexada_anexada = materia_anexada_anexada.tramitacao_set.order_by('-data_tramitacao', '-id').first() '-data_tramitacao', '-id').first()
tramitacao_anexada_anexada = materia_anexada_anexada.tramitacao_set.order_by(
'-data_tramitacao', '-id').first()
form = TramitacaoUpdateForm(data={}) form = TramitacaoUpdateForm(data={})
# Alterando unidade_tramitacao_destino # Alterando unidade_tramitacao_destino
form.data = {'data_tramitacao':tramitacao_anexada.data_tramitacao, form.data = {'data_tramitacao': tramitacao_anexada.data_tramitacao,
'unidade_tramitacao_local':tramitacao_anexada.unidade_tramitacao_local.pk, 'unidade_tramitacao_local': tramitacao_anexada.unidade_tramitacao_local.pk,
'unidade_tramitacao_destino':unidade_tramitacao_destino_2.pk, 'unidade_tramitacao_destino': unidade_tramitacao_destino_2.pk,
'status':tramitacao_anexada.status.pk, 'status': tramitacao_anexada.status.pk,
'urgente': tramitacao_anexada.urgente, 'urgente': tramitacao_anexada.urgente,
'texto': tramitacao_anexada.texto} 'texto': tramitacao_anexada.texto}
form.instance = tramitacao_anexada form.instance = tramitacao_anexada
assert form.is_valid() assert form.is_valid()
tramitacao_anexada = form.save() 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_principal.unidade_tramitacao_destino == unidade_tramitacao_destino_1
assert tramitacao_anexada.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 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={}) form = TramitacaoUpdateForm(data={})
# Alterando o texto # Alterando o texto
form.data = {'data_tramitacao':tramitacao_principal.data_tramitacao, form.data = {'data_tramitacao': tramitacao_principal.data_tramitacao,
'unidade_tramitacao_local':tramitacao_principal.unidade_tramitacao_local.pk, 'unidade_tramitacao_local': tramitacao_principal.unidade_tramitacao_local.pk,
'unidade_tramitacao_destino':tramitacao_principal.unidade_tramitacao_destino.pk, 'unidade_tramitacao_destino': tramitacao_principal.unidade_tramitacao_destino.pk,
'status':tramitacao_principal.status.pk, 'status': tramitacao_principal.status.pk,
'urgente': tramitacao_principal.urgente, 'urgente': tramitacao_principal.urgente,
'texto': "Testando a alteração"} 'texto': "Testando a alteração"}
form.instance = tramitacao_principal form.instance = tramitacao_principal
assert form.is_valid() assert form.is_valid()
tramitacao_principal = form.save() tramitacao_principal = form.save()
tramitacao_anexada = materia_anexada.tramitacao_set.order_by('-data_tramitacao', '-id').first() tramitacao_anexada = materia_anexada.tramitacao_set.order_by(
tramitacao_anexada_anexada = materia_anexada_anexada.tramitacao_set.order_by('-data_tramitacao', '-id').first() '-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 tramitacao_principal.texto == "Testando a alteração"
assert not tramitacao_anexada.texto == "Testando a alteração" assert not tramitacao_anexada.texto == "Testando a alteração"
assert not tramitacao_anexada_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
url = reverse('sapl.materia:tramitacao_delete', # removidas, pois divergiram
kwargs={'pk': tramitacao_principal.pk}) url = reverse('sapl.materia:tramitacao_delete',
response = admin_client.post(url, {'confirmar':'confirmar'} ,follow=True) 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_principal.pk).count() == 0
assert Tramitacao.objects.filter(id=tramitacao_anexada.pk).count() == 1 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
url = reverse('sapl.materia:tramitacao_delete', # Removendo a tramitação anexada, a tramitação anexada à anexada deve ser
kwargs={'pk': tramitacao_anexada.pk}) # removida
response = admin_client.post(url, {'confirmar':'confirmar'} ,follow=True) 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.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 # Agora testando para caso não seja desejado tramitar as matérias anexadas
# junto com as matérias principais # junto com as matérias principais
@ -877,62 +893,71 @@ def test_tramitacoes_materias_anexadas(admin_client):
# Teste criação de Tramitacao # Teste criação de Tramitacao
form = TramitacaoForm(data={}) form = TramitacaoForm(data={})
form.data = {'data_tramitacao':date(2019, 5, 6), form.data = {'data_tramitacao': date(2019, 5, 6),
'unidade_tramitacao_local':unidade_tramitacao_local_1.pk, 'unidade_tramitacao_local': unidade_tramitacao_local_1.pk,
'unidade_tramitacao_destino':unidade_tramitacao_destino_1.pk, 'unidade_tramitacao_destino': unidade_tramitacao_destino_1.pk,
'status':status.pk, 'status': status.pk,
'urgente': False, 'urgente': False,
'texto': "Texto de teste"} 'texto': "Texto de teste"}
form.instance.materia_id=materia_principal.pk form.instance.materia_id = materia_principal.pk
assert form.is_valid() assert form.is_valid()
tramitacao_principal = form.save() tramitacao_principal = form.save()
tramitacao_anexada = materia_anexada.tramitacao_set.order_by('-data_tramitacao', '-id').first() tramitacao_anexada = materia_anexada.tramitacao_set.order_by(
tramitacao_anexada_anexada = materia_anexada_anexada.tramitacao_set.order_by('-data_tramitacao', '-id').first() '-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 # 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
assert not tramitacao_anexada_anexada assert not tramitacao_anexada_anexada
# Criação de uma tramitação igual para a anexada à principal para testar a
# Criação de uma tramitação igual para a anexada à principal para testar a edição # edição
form = TramitacaoForm(data={}) form = TramitacaoForm(data={})
form.data = {'data_tramitacao':date(2019, 5, 6), form.data = {'data_tramitacao': date(2019, 5, 6),
'unidade_tramitacao_local':unidade_tramitacao_local_1.pk, 'unidade_tramitacao_local': unidade_tramitacao_local_1.pk,
'unidade_tramitacao_destino':unidade_tramitacao_destino_1.pk, 'unidade_tramitacao_destino': unidade_tramitacao_destino_1.pk,
'status':status.pk, 'status': status.pk,
'urgente': False, 'urgente': False,
'texto': "Texto de teste"} 'texto': "Texto de teste"}
form.instance.materia_id=materia_anexada.pk form.instance.materia_id = materia_anexada.pk
assert form.is_valid() assert form.is_valid()
tramitacao_anexada = form.save() tramitacao_anexada = form.save()
tramitacao_principal = materia_principal.tramitacao_set.order_by('-data_tramitacao', '-id').first() tramitacao_principal = materia_principal.tramitacao_set.order_by(
tramitacao_anexada_anexada = materia_anexada_anexada.tramitacao_set.order_by('-data_tramitacao', '-id').first() '-data_tramitacao', '-id').first()
tramitacao_anexada_anexada = materia_anexada_anexada.tramitacao_set.order_by(
assert materia_anexada.tramitacao_set.order_by('-data_tramitacao', '-id').first() == tramitacao_anexada '-data_tramitacao', '-id').first()
assert materia_principal.tramitacao_set.order_by('-data_tramitacao', '-id').all().count() == 1
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 compara_tramitacoes_mat(tramitacao_principal, tramitacao_anexada)
assert not tramitacao_anexada_anexada assert not tramitacao_anexada_anexada
# Teste Edição de Tramitacao # Teste Edição de Tramitacao
form = TramitacaoUpdateForm(data={}) form = TramitacaoUpdateForm(data={})
# Alterando unidade_tramitacao_destino # Alterando unidade_tramitacao_destino
form.data = {'data_tramitacao':tramitacao_principal.data_tramitacao, form.data = {'data_tramitacao': tramitacao_principal.data_tramitacao,
'unidade_tramitacao_local':tramitacao_principal.unidade_tramitacao_local.pk, 'unidade_tramitacao_local': tramitacao_principal.unidade_tramitacao_local.pk,
'unidade_tramitacao_destino':unidade_tramitacao_destino_2.pk, 'unidade_tramitacao_destino': unidade_tramitacao_destino_2.pk,
'status':tramitacao_principal.status.pk, 'status': tramitacao_principal.status.pk,
'urgente': tramitacao_principal.urgente, 'urgente': tramitacao_principal.urgente,
'texto': tramitacao_principal.texto} 'texto': tramitacao_principal.texto}
form.instance = tramitacao_principal form.instance = tramitacao_principal
assert form.is_valid() assert form.is_valid()
tramitacao_principal = form.save() tramitacao_principal = form.save()
tramitacao_anexada = materia_anexada.tramitacao_set.order_by('-data_tramitacao', '-id').first() tramitacao_anexada = materia_anexada.tramitacao_set.order_by(
tramitacao_anexada_anexada = materia_anexada_anexada.tramitacao_set.order_by('-data_tramitacao', '-id').first() '-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_principal.unidade_tramitacao_destino == unidade_tramitacao_destino_2
assert tramitacao_anexada.unidade_tramitacao_destino == unidade_tramitacao_destino_1 assert tramitacao_anexada.unidade_tramitacao_destino == unidade_tramitacao_destino_1
@ -941,18 +966,20 @@ def test_tramitacoes_materias_anexadas(admin_client):
# Alterando a tramitação anexada para testar a remoção de tramitações # Alterando a tramitação anexada para testar a remoção de tramitações
# Alterando unidade_tramitacao_destino # Alterando unidade_tramitacao_destino
form = TramitacaoUpdateForm(data={}) form = TramitacaoUpdateForm(data={})
form.data = {'data_tramitacao':tramitacao_principal.data_tramitacao, form.data = {'data_tramitacao': tramitacao_principal.data_tramitacao,
'unidade_tramitacao_local':tramitacao_principal.unidade_tramitacao_local.pk, 'unidade_tramitacao_local': tramitacao_principal.unidade_tramitacao_local.pk,
'unidade_tramitacao_destino':unidade_tramitacao_destino_2.pk, 'unidade_tramitacao_destino': unidade_tramitacao_destino_2.pk,
'status':tramitacao_principal.status.pk, 'status': tramitacao_principal.status.pk,
'urgente': tramitacao_principal.urgente, 'urgente': tramitacao_principal.urgente,
'texto': tramitacao_principal.texto} 'texto': tramitacao_principal.texto}
form.instance = tramitacao_anexada form.instance = tramitacao_anexada
assert form.is_valid() assert form.is_valid()
tramitacao_anexada = form.save() tramitacao_anexada = form.save()
tramitacao_principal = materia_principal.tramitacao_set.order_by('-data_tramitacao', '-id').first() tramitacao_principal = materia_principal.tramitacao_set.order_by(
tramitacao_anexada_anexada = materia_anexada_anexada.tramitacao_set.order_by('-data_tramitacao', '-id').first() '-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_principal.unidade_tramitacao_destino == unidade_tramitacao_destino_2
assert tramitacao_anexada.unidade_tramitacao_destino == unidade_tramitacao_destino_2 assert tramitacao_anexada.unidade_tramitacao_destino == unidade_tramitacao_destino_2
@ -960,9 +987,10 @@ def test_tramitacoes_materias_anexadas(admin_client):
assert compara_tramitacoes_mat(tramitacao_principal, tramitacao_anexada) assert compara_tramitacoes_mat(tramitacao_principal, tramitacao_anexada)
# Testando a remoção # 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
url = reverse('sapl.materia:tramitacao_delete', # removidas
kwargs={'pk': tramitacao_principal.pk}) url = reverse('sapl.materia:tramitacao_delete',
response = admin_client.post(url, {'confirmar':'confirmar'} ,follow=True) 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_principal.pk).count() == 0
assert Tramitacao.objects.filter(id=tramitacao_anexada.pk).count() == 1 assert Tramitacao.objects.filter(id=tramitacao_anexada.pk).count() == 1

Loading…
Cancel
Save