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