コード例 #1
0
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"))
コード例 #2
0
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")]
コード例 #3
0
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')]
コード例 #4
0
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.')]
コード例 #5
0
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
コード例 #6
0
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')
    ]
コード例 #7
0
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")]
コード例 #8
0
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.")]