public ProductUpdateResult updateDescription(final String title, final String content, final Location location, final Integer price, final Long categoryId, final Long memberId, final List<MultipartFile> imageFiles, final List<Long> deletedImageIds, final ProductImageConverter imageConverter) {
        validateOwner(memberId);
        this.description.update(title, content, location);
        this.price = new Price(price);
        this.categoryId = categoryId;

        List<ProductImage> addedImages = imageConverter.convertImageFilesToImages(imageFiles);
        List<ProductImage> deletedImages = imageConverter.convertImageIdsToImages(deletedImageIds, this.productImages);

        this.productImages.addAll(addedImages);
        this.productImages.removeAll(deletedImages);

        return new ProductUpdateResult(addedImages, deletedImages);
    }
@Test
    void 상품의_주인이_다르면_업데이트시에_예외를_발생한다() {
        // given
        String newDescription = "new";
        Product product = 상품_생성();

        // when & then
        assertThatThrownBy(() -> product.updateDescription(newDescription, newDescription, Location.BUILDING_CENTER, 10, 1L, -1L, new ArrayList<>(), new ArrayList<>(), new ProductImageFakeConverter()))
                .isInstanceOf(ProductOwnerNotEqualsException.class);
    }