def test_campo_classificao_arquivo_no_form_diligencia_componente(
        client, login, sistema_cultura):
    """ Testa a existência do campo referente a seleção para a classificação do arquivo """

    form = DiligenciaComponenteForm(componente='orgao_gestor',
                                    sistema_cultura=sistema_cultura,
                                    usuario=login)

    assert "<select name=\"classificacao_arquivo\" id=\"id_classificacao_arquivo\"" in form.as_p(
    )
def test_campo_texto_diligencia_form_componente(client, login,
                                                sistema_cultura):
    """
    Testa existência do campo texto_diligência no form referente a diligência de componente
    """

    form = DiligenciaComponenteForm(componente='orgao_gestor',
                                    sistema_cultura=sistema_cultura,
                                    usuario=login)

    assert "<textarea cols=\"40\" id=\"id_texto_diligencia\" name=\"texto_diligencia\" " in form.as_p(
    )
def test_validacao_de_dados_invalidos(client, login, sistema_cultura):
    """ Testa se a função is_valid retorna falso para dados inválidos na criação do form
    da diligencia de componente"""

    data = {
        'texto_diligencia': 'ta certo, parceiro',
        'classificacao_arquivo': 'bla'
    }

    form = DiligenciaComponenteForm(data=data,
                                    componente='orgao_gestor',
                                    sistema_cultura=sistema_cultura,
                                    usuario=login)

    assert not form.is_valid()
def test_opcoes_em_um_dropdown(template, client, context, login,
                               sistema_cultura):
    """Testa se as Classificações(Motivo) estão presentes dentro de um dropdown."""
    opcoes = [{
        "description": "Arquivo danificado",
        "value": "4"
    }, {
        "description": "Arquivo incompleto",
        "value": "5"
    }, {
        "description": "Arquivo incorreto",
        "value": "6"
    }]

    form = DiligenciaComponenteForm(componente='orgao_gestor',
                                    usuario=login,
                                    sistema_cultura=sistema_cultura)
    context['form'] = form
    context['sistema_cultura'] = sistema_cultura
    context['componente'] = mommy.make("Componente")
    rendered_template = template.render(context)

    assert "<select name=\"classificacao_arquivo\" id=\"id_classificacao_arquivo\">" in rendered_template
    for opcao in opcoes:
        assert "<option value=\"{value}\">{description}</option>".format(
            value=opcao['value'], description=opcao['description'])
    assert "</select>" in rendered_template
def test_existencia_form_diligencia_componente(client, login, sistema_cultura):
    """ Testa existência da classe form para a diligência de componentes"""

    form = DiligenciaComponenteForm(componente='orgao_gestor',
                                    sistema_cultura=sistema_cultura,
                                    usuario=login)

    assert form
def test_diligencia_form_componente_usa_model_correta(client, login,
                                                      sistema_cultura):
    """ Testa de a classe DiligenciaForm utiliza a model referente a Diligencia """

    form = DiligenciaComponenteForm(componente='orgao_gestor',
                                    sistema_cultura=sistema_cultura,
                                    usuario=login)

    assert isinstance(form.instance, DiligenciaSimples)
def test_fields_form_diligencia_componente(client, login, sistema_cultura):
    """Testa as fields dentro do form de diligencia de componente"""

    form = DiligenciaComponenteForm(componente='orgao_gestor',
                                    sistema_cultura=sistema_cultura,
                                    usuario=login)

    fields = ('texto_diligencia', 'classificacao_arquivo')

    assert set(form.Meta.fields).issuperset(set(fields))
def test_opcoes_de_classificacao_da_diligencia(template, client, context,
                                               login, sistema_cultura):
    """Testa se a Classificação(Motivo) apresenta as opções conforme a especificação."""

    opcoes = ("Arquivo danificado", "Arquivo incompleto", "Arquivo incorreto")

    form = DiligenciaComponenteForm(componente='orgao_gestor',
                                    usuario=login,
                                    sistema_cultura=sistema_cultura)
    context['form'] = form
    context['sistema_cultura'] = sistema_cultura
    context['componente'] = mommy.make("Componente")
    rendered_template = template.render(context)

    assert opcoes[0] in rendered_template
    assert opcoes[1] in rendered_template
    assert opcoes[2] in rendered_template