package br.gov.servicos.frontend;
import br.gov.servicos.cms.PaginaEstaticaRepository;
import br.gov.servicos.cms.PaginaTematicaRepository;
import br.gov.servicos.orgao.OrgaoRepository;
import br.gov.servicos.servico.ServicoRepository;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;
import java.util.Map;
import static org.hamcrest.Matchers.hasKey;
import static org.hamcrest.Matchers.is;
import static org.junit.Assert.assertThat;
import static org.mockito.Mockito.verify;
@RunWith(MockitoJUnitRunner.class)
public class SitemapControllerTest {
@Mock
ServicoRepository servicos;
@Mock
OrgaoRepository orgaos;
@Mock
PaginaEstaticaRepository estaticas;
@Mock
PaginaTematicaRepository tematicas;
SitemapController controller;
@Before
public void setUp() throws Exception {
controller = new SitemapController(servicos, orgaos, tematicas, estaticas);
}
@Test
public void renderizaSitemap() throws Exception {
assertThat(controller.sitemap().getViewName(), is("sitemap"));
}
@Test
public void adicionaTodosOsServicosAoModelo() throws Exception {
Map<String, Object> model = controller.sitemap().getModel();
assertThat(model, hasKey("servicos"));
verify(servicos).findAll();
}
@Test
public void adicionaTodosOsOrgaosAoModelo() throws Exception {
Map<String, Object> model = controller.sitemap().getModel();
assertThat(model, hasKey("orgaos"));
verify(orgaos).findAll();
}
@Test
public void adicionaTodosOsSegmentosDaSociedadeAoModelo() throws Exception {
Map<String, Object> model = controller.sitemap().getModel();
assertThat(model, hasKey("publicosAlvo"));
}
@Test
public void adicionaTodasAsAreasDeInteresseAoModelo() throws Exception {
Map<String, Object> model = controller.sitemap().getModel();
assertThat(model, hasKey("areasDeInteresse"));
}
}