Browse Source

Adiciona teste simples para AnularProtocoloForm

pull/1434/head
Edward Ribeiro 7 years ago
parent
commit
19b8de3011
  1. 12
      sapl/protocoloadm/forms.py
  2. 17
      sapl/protocoloadm/tests/test_protocoloadm.py

12
sapl/protocoloadm/forms.py

@ -218,13 +218,12 @@ class AnularProcoloAdmForm(ModelForm):
cleaned_data = super(AnularProcoloAdmForm, self).clean() cleaned_data = super(AnularProcoloAdmForm, self).clean()
numero = cleaned_data.get("numero") if not self.is_valid():
ano = cleaned_data.get("ano") return cleaned_data
numero = cleaned_data['numero']
ano = cleaned_data['ano']
# se não inserido numero ou ano não prosseguir
# (e ele vai falhar pq numero e ano são obrigatórios)
if not numero or not ano:
return
try: try:
protocolo = Protocolo.objects.get(numero=numero, ano=ano) protocolo = Protocolo.objects.get(numero=numero, ano=ano)
if protocolo.anulado: if protocolo.anulado:
@ -234,6 +233,7 @@ class AnularProcoloAdmForm(ModelForm):
except ObjectDoesNotExist: except ObjectDoesNotExist:
raise forms.ValidationError( raise forms.ValidationError(
_("Protocolo %s/%s não existe" % (numero, ano))) _("Protocolo %s/%s não existe" % (numero, ano)))
exists = False exists = False
if protocolo.tipo_materia: if protocolo.tipo_materia:
exists = MateriaLegislativa.objects.filter( exists = MateriaLegislativa.objects.filter(

17
sapl/protocoloadm/tests/test_protocoloadm.py

@ -250,3 +250,20 @@ def test_create_tramitacao(admin_client):
tramitacao = TramitacaoAdministrativo.objects.last() tramitacao = TramitacaoAdministrativo.objects.last()
# Verifica se a tramitacao que obedece as regras de negócios é criada # Verifica se a tramitacao que obedece as regras de negócios é criada
assert tramitacao.data_tramitacao == datetime.date(2016, 8, 21) assert tramitacao.data_tramitacao == datetime.date(2016, 8, 21)
@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={})
assert not form.is_valid()
errors = form.errors
assert errors['numero'] == [_('Este campo é obrigatório.')]
assert errors['ano'] == [_('Este campo é obrigatório.')]
assert errors['justificativa_anulacao'] == [_('Este campo é obrigatório.')]
assert len(errors) == 3

Loading…
Cancel
Save