mirror of https://github.com/interlegis/sapl.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
71 lines
2.7 KiB
71 lines
2.7 KiB
9 years ago
|
import pytest
|
||
|
from django.core.urlresolvers import reverse
|
||
|
from django.core.files.uploadedfile import SimpleUploadedFile
|
||
|
from .views import AnularProtocoloAdmView
|
||
|
from .forms import AnularProcoloAdmForm
|
||
|
from .models import Protocolo
|
||
|
from model_mommy import mommy
|
||
|
|
||
|
from django.utils.translation import ugettext_lazy as _
|
||
|
|
||
|
|
||
|
@pytest.mark.django_db(transaction=False)
|
||
|
def test_anular_protocolo_acessivel(client):
|
||
|
response = client.get(reverse('anular_protocolo'))
|
||
|
assert response.status_code == 200
|
||
|
|
||
|
|
||
|
@pytest.mark.django_db(transaction=False)
|
||
|
def test_form_anular_protocolo_inexistente():
|
||
|
form = AnularProcoloAdmForm({'numero': '1',
|
||
|
'ano': '2016',
|
||
|
'justificativa_anulacao': 'TESTE'})
|
||
|
assert form.is_valid() == False
|
||
|
assert form.errors['__all__'] == [_("Protocolo 1/2016 não existe")]
|
||
|
|
||
|
|
||
|
@pytest.mark.django_db(transaction=False)
|
||
|
def test_form_anular_protocolo_valido():
|
||
|
protocolo = mommy.make(Protocolo, numero='1', ano='2016', anulado=False)
|
||
|
form = AnularProcoloAdmForm({'numero': '1',
|
||
|
'ano': '2016',
|
||
|
'justificativa_anulacao': 'TESTE'})
|
||
|
assert form.is_valid() == True
|
||
|
|
||
|
@pytest.mark.django_db(transaction=False)
|
||
|
def test_form_anular_protocolo_campos_obrigatorios():
|
||
|
protocolo = mommy.make(Protocolo, numero='1', ano='2016', anulado=False)
|
||
|
|
||
|
# numero ausente
|
||
|
form = AnularProcoloAdmForm({'numero': '',
|
||
|
'ano': '2016',
|
||
|
'justificativa_anulacao': 'TESTE'})
|
||
|
assert form.is_valid() == False
|
||
|
assert len(form.errors) == 1
|
||
|
assert form.errors['numero'] == [_('Este campo é obrigatório.')]
|
||
|
|
||
|
# ano ausente
|
||
|
form = AnularProcoloAdmForm({'numero': '1',
|
||
|
'ano': '',
|
||
|
'justificativa_anulacao': 'TESTE'})
|
||
|
assert form.is_valid() == False
|
||
|
assert len(form.errors) == 1
|
||
|
assert form.errors['ano'] == [_('Este campo é obrigatório.')]
|
||
|
|
||
|
# ano ausente
|
||
|
form = AnularProcoloAdmForm({'numero': '1',
|
||
|
'ano': '2016',
|
||
|
'justificativa_anulacao': ''})
|
||
|
assert form.is_valid() == False
|
||
|
assert len(form.errors) == 1
|
||
|
assert form.errors['justificativa_anulacao'] == [_('Este campo é obrigatório.')]
|
||
|
|
||
|
|
||
|
@pytest.mark.django_db(transaction=False)
|
||
|
def test_form_anular_protocolo_anulado():
|
||
|
protocolo = mommy.make(Protocolo, numero='1', ano='2016', anulado=True)
|
||
|
form = AnularProcoloAdmForm({'numero': '1',
|
||
|
'ano': '2016',
|
||
|
'justificativa_anulacao': 'TESTE'})
|
||
|
assert form.errors['__all__'] == [_("Protocolo 1/2016 já encontra-se anulado")]
|