Browse Source

Adição de checagem de debug breakpoint e mais testes

pull/285/head
Edward Ribeiro 9 years ago
parent
commit
3cb948f42e
  1. 12
      check_qa.sh
  2. 34
      protocoloadm/test_protocoloadm.py

12
check_qa.sh

@ -1,7 +1,17 @@
#!/bin/bash #!/bin/bash
# QA checks: run this before every commit # Check if there's some debug breakpoint in codebase
me=`basename "$0"`
stmts=`grep --exclude=$me -r -l "ipdb.set_trace()" * | wc -l`
if [ $stmts != '0' ]
then
echo "=================================================================="
echo "ERROR: ipdb.set_trace() call in codebase! Remove, please."
grep --exclude=$me -r -n "ipdb.set_trace()" *
echo "=================================================================="
fi
# QA checks: run this before every commit
./manage.py check ./manage.py check
flake8 --exclude='ipython_log.py*,migrations,templates' . flake8 --exclude='ipython_log.py*,migrations,templates' .
isort --recursive --check-only --skip='migrations' --skip='templates' --skip='ipython_log.py' . isort --recursive --check-only --skip='migrations' --skip='templates' --skip='ipython_log.py' .

34
protocoloadm/test_protocoloadm.py

@ -13,6 +13,28 @@ def test_anular_protocolo_acessivel(client):
assert response.status_code == 200 assert response.status_code == 200
@pytest.mark.django_db(transaction=False)
def test_anular_protocolo_submit(client):
mommy.make(Protocolo, numero='76', ano='2016', anulado=False)
# TODO: setar usuario e IP
response = client.post(reverse('anular_protocolo'),
{'numero': '',
'ano': '2016',
'justificativa_anulacao': 'TESTE',
'salvar': 'Anular'},
follow=True)
assert response.status_code == 200
protocolo = Protocolo.objects.first()
assert protocolo.numero == 76
assert protocolo.ano == 2016
if not protocolo.anulado:
pytest.fail(_("Protocolo deveria estar anulado"))
assert protocolo.justificativa_anulacao == 'TESTE'
@pytest.mark.django_db(transaction=False) @pytest.mark.django_db(transaction=False)
def test_form_anular_protocolo_inexistente(): def test_form_anular_protocolo_inexistente():
form = AnularProcoloAdmForm({'numero': '1', form = AnularProcoloAdmForm({'numero': '1',
@ -21,7 +43,7 @@ def test_form_anular_protocolo_inexistente():
# Não usa o assert form.is_valid() == False por causa do PEP8 # Não usa o assert form.is_valid() == False por causa do PEP8
if form.is_valid(): if form.is_valid():
pytest.xfail("Form deve ser inválido") pytest.fail(_("Form deve ser inválido"))
assert form.errors['__all__'] == [_("Protocolo 1/2016 não existe")] assert form.errors['__all__'] == [_("Protocolo 1/2016 não existe")]
@ -32,7 +54,7 @@ def test_form_anular_protocolo_valido():
'ano': '2016', 'ano': '2016',
'justificativa_anulacao': 'TESTE'}) 'justificativa_anulacao': 'TESTE'})
if not form.is_valid(): if not form.is_valid():
pytest.xfail("Form deve ser válido") pytest.fail(_("Form deve ser válido"))
@pytest.mark.django_db(transaction=False) @pytest.mark.django_db(transaction=False)
@ -49,12 +71,14 @@ def test_form_anular_protocolo_anulado():
def test_form_anular_protocolo_campos_obrigatorios(): def test_form_anular_protocolo_campos_obrigatorios():
mommy.make(Protocolo, numero='1', ano='2016', anulado=False) mommy.make(Protocolo, numero='1', ano='2016', anulado=False)
# TODO: generalizar para diminuir o tamanho deste método
# numero ausente # numero ausente
form = AnularProcoloAdmForm({'numero': '', form = AnularProcoloAdmForm({'numero': '',
'ano': '2016', 'ano': '2016',
'justificativa_anulacao': 'TESTE'}) 'justificativa_anulacao': 'TESTE'})
if form.is_valid(): if form.is_valid():
pytest.xfail("Form deve ser inválido") pytest.fail(_("Form deve ser inválido"))
assert len(form.errors) == 1 assert len(form.errors) == 1
assert form.errors['numero'] == [_('Este campo é obrigatório.')] assert form.errors['numero'] == [_('Este campo é obrigatório.')]
@ -64,7 +88,7 @@ def test_form_anular_protocolo_campos_obrigatorios():
'ano': '', 'ano': '',
'justificativa_anulacao': 'TESTE'}) 'justificativa_anulacao': 'TESTE'})
if form.is_valid(): if form.is_valid():
pytest.xfail("Form deve ser inválido") pytest.fail(_("Form deve ser inválido"))
assert len(form.errors) == 1 assert len(form.errors) == 1
assert form.errors['ano'] == [_('Este campo é obrigatório.')] assert form.errors['ano'] == [_('Este campo é obrigatório.')]
@ -74,7 +98,7 @@ def test_form_anular_protocolo_campos_obrigatorios():
'ano': '2016', 'ano': '2016',
'justificativa_anulacao': ''}) 'justificativa_anulacao': ''})
if form.is_valid(): if form.is_valid():
pytest.xfail("Form deve ser inválido") pytest.fail(_("Form deve ser inválido"))
assert len(form.errors) == 1 assert len(form.errors) == 1
assert form.errors['justificativa_anulacao'] == \ assert form.errors['justificativa_anulacao'] == \

Loading…
Cancel
Save