Browse Source

Cria teste para criacao de nova tramitacao de um documento administrativo

pull/534/head
Eduardo Calil 8 years ago
parent
commit
d59772d676
  1. 137
      sapl/protocoloadm/tests/test_protocoloadm.py

137
sapl/protocoloadm/tests/test_protocoloadm.py

@ -1,10 +1,15 @@
import datetime
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 UnidadeTramitacao
from sapl.protocoloadm.forms import AnularProcoloAdmForm
from sapl.protocoloadm.models import Protocolo
from sapl.protocoloadm.models import (DocumentoAdministrativo, Protocolo,
StatusTramitacaoAdministrativo,
TipoDocumentoAdministrativo,
TramitacaoAdministrativo)
@pytest.mark.django_db(transaction=False)
@ -104,3 +109,133 @@ def test_form_anular_protocolo_campos_obrigatorios():
assert len(form.errors) == 1
assert form.errors['justificativa_anulacao'] == \
[_('Este campo é obrigatório.')]
@pytest.mark.django_db(transaction=False)
def test_create_tramitacao(admin_client):
tipo_doc = mommy.make(
TipoDocumentoAdministrativo,
descricao='Teste Tipo_DocAdm')
documento_adm = mommy.make(
DocumentoAdministrativo,
tipo=tipo_doc)
unidade_tramitacao_local_1 = mommy.make(
UnidadeTramitacao, pk=1)
unidade_tramitacao_destino_1 = mommy.make(
UnidadeTramitacao, pk=2)
unidade_tramitacao_destino_2 = mommy.make(
UnidadeTramitacao, pk=3)
status = mommy.make(
StatusTramitacaoAdministrativo)
tramitacao = mommy.make(
TramitacaoAdministrativo,
unidade_tramitacao_local=unidade_tramitacao_local_1,
unidade_tramitacao_destino=unidade_tramitacao_destino_1,
status=status,
documento=documento_adm,
data_tramitacao=datetime.date(2016, 8, 21))
response = admin_client.post(
reverse(
'sapl.protocoloadm:tramitacaoadministrativo_create',
kwargs={'pk': documento_adm.pk}),
{'unidade_tramitacao_local': unidade_tramitacao_destino_2.pk,
'documento': documento_adm.pk,
'status': status.pk,
'data_tramitacao': datetime.date(2016, 8, 21)},
follow=True)
msg = _('A origem da nova tramitação deve ser igual ao '
'destino da última adicionada!')
# Verifica se a origem da nova tramitacao é igual ao destino da última
assert msg in response.context_data[
'form'].errors['__all__']
response = admin_client.post(
reverse(
'sapl.protocoloadm:tramitacaoadministrativo_create',
kwargs={'pk': documento_adm.pk}),
{'unidade_tramitacao_local': unidade_tramitacao_destino_1.pk,
'documento': documento_adm.pk,
'status': status.pk,
'data_tramitacao': datetime.date(2016, 8, 20)},
follow=True)
msg = _('A data da nova tramitação deve ser ' +
'maior que a data da última tramitação!')
# Verifica se a data da nova tramitação é maior do que a última
assert msg in response.context_data[
'form'].errors['__all__']
response = admin_client.post(
reverse(
'sapl.protocoloadm:tramitacaoadministrativo_create',
kwargs={'pk': documento_adm.pk}),
{'unidade_tramitacao_local': unidade_tramitacao_destino_1.pk,
'documento': documento_adm.pk,
'status': status.pk,
'data_tramitacao': datetime.date(2016, 8, 26)},
follow=True)
msg = _('A data de tramitação deve ser ' +
'menor ou igual a data de hoje!')
# Verifica se a data da tramitação é menor do que a data de hoje
assert msg in response.context_data[
'form'].errors['__all__']
response = admin_client.post(
reverse(
'sapl.protocoloadm:tramitacaoadministrativo_create',
kwargs={'pk': documento_adm.pk}),
{'unidade_tramitacao_local': unidade_tramitacao_destino_1.pk,
'documento': documento_adm.pk,
'status': status.pk,
'data_tramitacao': datetime.date(2016, 8, 21),
'data_encaminhamento': datetime.date(2016, 8, 20)},
follow=True)
msg = _('A data de encaminhamento deve ser ' +
'maior que a data de tramitação!')
assert msg in response.context_data[
'form'].errors['__all__']
response = admin_client.post(
reverse(
'sapl.protocoloadm:tramitacaoadministrativo_create',
kwargs={'pk': documento_adm.pk}),
{'unidade_tramitacao_local': unidade_tramitacao_destino_1.pk,
'documento': documento_adm.pk,
'status': status.pk,
'data_tramitacao': datetime.date(2016, 8, 21),
'data_fim_prazo': datetime.date(2016, 8, 20)},
follow=True)
msg = _('A data fim de prazo deve ser ' +
'maior que a data de tramitação!')
assert msg in response.context_data[
'form'].errors['__all__']
response = admin_client.post(
reverse(
'sapl.protocoloadm:tramitacaoadministrativo_create',
kwargs={'pk': documento_adm.pk}),
{'unidade_tramitacao_local': unidade_tramitacao_destino_1.pk,
'documento': documento_adm.pk,
'status': status.pk,
'data_tramitacao': datetime.date(2016, 8, 21)},
follow=True)
tramitacao = TramitacaoAdministrativo.objects.last()
# Verifica se a tramitacao que obedece as regras de negócios é criada
assert tramitacao.data_tramitacao == datetime.date(2016, 8, 21)

Loading…
Cancel
Save