@Transactional
public ProductDTO update(Long id, ProductDTO dto) {
try {
Product entity = repository.getReferenceById(id);
copyDtoToEntity(dto, entity);
entity = repository.save(entity);
return new ProductDTO(entity);
}
catch (EntityNotFoundException e) {
throw new ResourceNotFoundException("Recurso não encontrado");
}
}
Temos dois cenários, um de Id existente e outro de não existente.
Como já mockamos o save (do insert), precisamos fazer o do getReferenceById.