def test_form_anular_protocolo_valido(): mommy.make(Protocolo, numero='1', ano='2016', anulado=False) form = AnularProcoloAdmForm({'numero': '1', 'ano': '2016', 'justificativa_anulacao': 'TESTE'}) if not form.is_valid(): pytest.fail(_("Form deve ser válido"))
def test_form_anular_protocolo_inexistente(): form = AnularProcoloAdmForm({'numero': '1', 'ano': '2016', 'justificativa_anulacao': 'TESTE'}) # Não usa o assert form.is_valid() == False por causa do PEP8 if form.is_valid(): pytest.fail(_("Form deve ser inválido")) assert form.errors['__all__'] == [_("Protocolo 1/2016 não existe")]
def test_anular_protocolo_form_anula_protocolo_inexistente(): form = AnularProcoloAdmForm(data={ 'numero': '1', 'ano': '2017', 'justificativa_anulacao': 'teste' }) assert not form.is_valid() assert form.errors['__all__'] == [_('Protocolo 1/2017 não existe')]
def test_form_anular_protocolo_campos_obrigatorios(): mommy.make(Protocolo, numero='1', ano='2016', anulado=False) # TODO: generalizar para diminuir o tamanho deste método # numero ausente form = AnularProcoloAdmForm({'numero': '', 'ano': '2016', 'justificativa_anulacao': 'TESTE'}) if form.is_valid(): pytest.fail(_("Form deve ser inválido")) assert len(form.errors) == 1 assert form.errors['numero'] == [_('Este campo é obrigatório.')] # ano ausente form = AnularProcoloAdmForm({'numero': '1', 'ano': '', 'justificativa_anulacao': 'TESTE'}) if form.is_valid(): pytest.fail(_("Form deve ser inválido")) assert len(form.errors) == 1 assert form.errors['ano'] == [_('Este campo é obrigatório.')] # justificativa_anulacao ausente form = AnularProcoloAdmForm({'numero': '1', 'ano': '2016', 'justificativa_anulacao': ''}) if form.is_valid(): pytest.fail(_("Form deve ser inválido")) assert len(form.errors) == 1 assert form.errors['justificativa_anulacao'] == \ [_('Este campo é obrigatório.')]
def test_anular_protocolo_dados_invalidos(): 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
def test_anular_protocolo_form_anula_protocolo_anulado(): mommy.make(Protocolo, numero=1, ano=2017, anulado=True) form = AnularProcoloAdmForm(data={ 'numero': '1', 'ano': '2017', 'justificativa_anulacao': 'teste' }) assert not form.is_valid() assert form.errors['__all__'] == [ _('Protocolo 1/2017 já encontra-se anulado') ]
def test_form_anular_protocolo_anulado(): 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")]
def test_anular_protocolo_form_anula_protocolo_com_doc_vinculado(): tipo_materia = mommy.make(TipoMateriaLegislativa) mommy.make(Protocolo, numero=1, ano=2017, tipo_materia=tipo_materia, anulado=False) mommy.make(MateriaLegislativa, ano=2017, numero_protocolo=1) form = AnularProcoloAdmForm(data={ 'numero': '1', 'ano': '2017', 'justificativa_anulacao': 'teste' }) assert not form.is_valid() assert form.errors['__all__'] == \ [_("Protocolo 1/2017 não pode ser removido pois existem " "documentos vinculados a ele.")] tipo_documento = mommy.make(TipoDocumentoAdministrativo) protocolo_documento = mommy.make(Protocolo, numero=2, ano=2017, tipo_documento=tipo_documento, anulado=False) mommy.make(DocumentoAdministrativo, protocolo=protocolo_documento) form = AnularProcoloAdmForm(data={ 'numero': '2', 'ano': '2017', 'justificativa_anulacao': 'teste' }) assert not form.is_valid() assert form.errors['__all__'] == \ [_("Protocolo 2/2017 não pode ser removido pois existem " "documentos vinculados a ele.")]