package br.gov.servicos.editor.conteudo;
import br.gov.servicos.editor.frontend.Siorg;
import br.gov.servicos.editor.git.ConteudoMetadados;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;
import static br.gov.servicos.editor.conteudo.TipoPagina.PAGINA_TEMATICA;
import static java.util.Optional.of;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.core.Is.is;
import static org.mockito.BDDMockito.given;
@RunWith(MockitoJUnitRunner.class)
public class DeserializadorConteudoXMLTest {
@Mock
Siorg siorg;
@Test
public void deserializaServicos() throws Exception {
given(siorg.nomeDoOrgao("http://estruturaorganizacional.dados.gov.br/id/unidade-organizacional/77"))
.willReturn(of("Secretaria da Receita Federal do Brasil (RFB)"));
ConteudoMetadados metadados = TipoPagina.SERVICO.metadados("<servico>" +
"<nome>Inscrição no CPF</nome>" +
"<orgao id=\"http://estruturaorganizacional.dados.gov.br/id/unidade-organizacional/77\"/>" +
"</servico>", siorg);
assertThat(metadados.getTipo(), is(TipoPagina.SERVICO.getNome()));
assertThat(metadados.getNome(), is("Inscrição no CPF"));
assertThat(metadados.getNomeOrgao(), is("Secretaria da Receita Federal do Brasil (RFB)"));
assertThat(metadados.getOrgaoId(), is("http://estruturaorganizacional.dados.gov.br/id/unidade-organizacional/77"));
}
@Test
public void deserializaOrgaos() throws Exception {
ConteudoMetadados metadados = TipoPagina.ORGAO.metadados("<orgao>" +
"<url>http://estruturaorganizacional.dados.gov.br/id/unidade-organizacional/77</url>" +
"<nome>Secretaria da Receita Federal do Brasil (RFB)</nome>\n" +
"</orgao>", siorg);
assertThat(metadados.getTipo(), is(TipoPagina.ORGAO.getNome()));
assertThat(metadados.getNome(), is("Secretaria da Receita Federal do Brasil (RFB)"));
assertThat(metadados.getNomeOrgao(), is("Secretaria da Receita Federal do Brasil (RFB)"));
assertThat(metadados.getOrgaoId(), is("http://estruturaorganizacional.dados.gov.br/id/unidade-organizacional/77"));
}
@Test
public void deserializaPáginasTemáticas() throws Exception {
ConteudoMetadados metadados = PAGINA_TEMATICA.metadados("<pagina-tematica>" +
"<nome>Cadastro de Pessoas Físicas (CPF)</nome>" +
"</pagina-tematica>", siorg);
assertThat(metadados.getTipo(), is(PAGINA_TEMATICA.getNome()));
assertThat(metadados.getNome(), is("Cadastro de Pessoas Físicas (CPF)"));
assertThat(metadados.getNomeOrgao(), is(" — — "));
assertThat(metadados.getOrgaoId(), is(""));
}
}