delete (integração)
❗IMPORTANTE
Como esse teste é diferente dos outros, ele irá afetar momentaneamente o banco de dados. Para que ele não influencie outros testes, colocaremos a anotação @Transactional lá em cima da classe.
Assim, a cada teste, ele dará um rollback no banco de dados.
ID existente:
@Test
public void deleteShouldDeleteResourceWhenIdExists() {
service.delete(existingId);
Assertions.assertTrue(countTotalProducts - 1 == repository.count());
}
ID não existente:
@Test
public void deleteShouldReturnResourceNotFoundExceptionWhenIdDoesnotExists() {
Assertions.assertThrows(ResourceNotFoundException.class, () -> {
service.delete(nonExistingId);
});
}
Atualizado