Prezados, boa noite.
O meu método delete funciona normalmente. Os testes foram realizados via cURL como demonstrado no vídeo. Entretanto, gostaria de saber qual a melhor abordagem para realizar um teste automatizado do método delete. Quando pedimos para criar um objeto no banco temos como retorno um Response e não sabemos nesse momento qual foi o ID atribuído ao objeto (pode ser um auto incremento ou outra abordagem qualquer). Fato é que sabemos apenas que o WS fez o seu papel corretamente mas não temos mais acesso ao objeto.
Assim, no método de teste do DELETE eu gostaria de criar um objeto, pegar esse objeto do banco, chamar a URI para apagar o objeto e solicitar novamente ao banco o objeto para checar se ele foi de fato apagado. Como eu faria nesse caso?
@Test
public void apagaProjeto() {
Response response = target.path("/projetos/1").request().delete();
Assert.assertEquals(200, response.getStatus());
}
O método acima procura remover o projeto de ID igual a 1. Não tenho certeza se ele existe e, portanto, seria importante inserir um projeto para ter essa certeza. Posso chamar o método para inserir mas eu não teria certeza de qual seria o seu ID.
Aproveitando, outra dúvida simples: a forma correta de se passar o path para o delete seria essa?