Boa tarde Rodrigo,
Estou tentando implementar um teste para validar o endpoint de detalhar um tópico.
Porém estou tomando erro dizendo que esta retornando 404 ao invés de 200, gostaria de uma ajuda para ver se estou fazendo alguma coisa errada.
Desde já agradeço pela atenção.
@RunWith(SpringRunner.class)
@SpringBootTest
@AutoConfigureMockMvc
@AutoConfigureTestEntityManager
@Transactional
@ActiveProfiles("test")
public class TopicosControllerTest {
private MockHttpServletRequestBuilder request;
private ResultMatcher expectedResult;
@Autowired
private TestEntityManager entityManager;
@Autowired
private MockMvc mock;
@Before
public void setUp() throws Exception {
Curso springBoot = new Curso();
Curso html5 = new Curso();
springBoot.setNome("Spring Boot");
springBoot.setCategoria("Programação");
html5.setNome("HTML 5");
html5.setCategoria("Front-end");
Topico topico1 = new Topico("Dúvida", "Error ao criar projeto", springBoot);
Topico topico2 = new Topico("Dúvida 2", "Projeto não compila", springBoot);
Topico topico3 = new Topico("Dúvida 3", "Tag HTML", html5);
entityManager.persist(springBoot);
entityManager.persist(html5);
entityManager.persist(topico1);
entityManager.persist(topico2);
entityManager.persist(topico3);
}
@Test
public void testDetalhar() throws Exception {
request = MockMvcRequestBuilders.get("/topicos/1");
expectedResult = MockMvcResultMatchers.status().isOk();
String response = mock.perform(request).andExpect(expectedResult).andReturn().getResponse()
.getContentAsString();
Assert.assertNotNull(response);
Assert.assertTrue(response.contains("NAO_RESPONDIDO"));
}
}