1
resposta

Como validar o Body

Queria além do erro 400, validar se ta sendo devolvido o body com a msg de errro correta

1 resposta

Olá Patrick, tudo bem?

Você pode usar o método andExpect do objeto MvcResult, que permite adicionar expectativas (ou "asserções") sobre a resposta HTTP:

@Test
@DisplayName("Deveria devolver codigo http 400 e mensagem de erro quando informacoes estao invalidas")
@WithMockUser
void agendar_cenario1() throws Exception {
    var response = mvc.perform(post(urlTemplate:"/consultas"));
            .andReturn().getResponse();

    assertThat(response.getStatus()).isEqualTo(HttpStatus.BAD_REQUEST.value());
    assertThat(response.getContentAsString()).contains("Mensagem de erro esperada");
}

O método getContentAsString() retorna o corpo da resposta como uma string, e o método contains() verifica se essa string contém a mensagem de erro esperada. Você só precisa substituir "Mensagem de erro esperada" pelo valor que você espera que a mensagem de erro tenha.