public static RemoveImage of(final String imageUrl, final Integer variantId) { return ofVariantId(variantId, imageUrl); }
public static RemoveImage of(final String imageUrl, final Integer variantId) { return ofVariantId(variantId, imageUrl); }
public static RemoveImage ofVariantId(final Integer variantId, final String imageUrl) { return ofVariantId(variantId, imageUrl, null); }
public static RemoveImage ofVariantId(final Integer variantId, final String imageUrl) { return ofVariantId(variantId, imageUrl, null); }
public static RemoveImage ofVariantId(final Integer variantId, final Image image) { return ofVariantId(variantId, image.getUrl(), null); }
public static RemoveImage ofVariantId(final Integer variantId, final Image image, @Nullable final Boolean staged) { return ofVariantId(variantId, image.getUrl(), staged); }
public static RemoveImage ofVariantId(final Integer variantId, final Image image) { return ofVariantId(variantId, image.getUrl(), null); }
public static RemoveImage ofVariantId(final Integer variantId, final Image image, @Nullable final Boolean staged) { return ofVariantId(variantId, image.getUrl(), staged); }
public void removeImageByVariantIdWithStaged(final Boolean staged) { final Image image = createExternalImage(); withUpdateableProduct(client(), product -> { assertThat(product.getMasterData().hasStagedChanges()).isFalse(); final Product productWithImage = client().executeBlocking(ProductUpdateCommand.of(product, AddExternalImage.ofVariantId(MASTER_VARIANT_ID, image, staged))); assertThat(productWithImage.getMasterData().getStaged().getMasterVariant().getImages()).isEqualTo(asList(image)); assertThat(productWithImage.getMasterData().hasStagedChanges()).isEqualTo(staged); final Product publishedProduct = client().executeBlocking(ProductUpdateCommand.of(productWithImage, Publish.of())); final Product updatedProduct = client().executeBlocking(ProductUpdateCommand.of(publishedProduct, RemoveImage.ofVariantId(MASTER_VARIANT_ID, image, staged))); assertThat(updatedProduct.getMasterData().getStaged().getMasterVariant().getImages()).hasSize(0); assertThat(updatedProduct.getMasterData().hasStagedChanges()).isEqualTo(staged); return updatedProduct; }); }
@Test public void removeImageByVariantId() throws Exception { final Image image = createExternalImage(); withUpdateableProduct(client(), product -> { final Product productWithImage = client().executeBlocking(ProductUpdateCommand.of(product, AddExternalImage.ofVariantId(MASTER_VARIANT_ID, image))); assertThat(productWithImage.getMasterData().getStaged().getMasterVariant().getImages()).isEqualTo(asList(image)); final Product updatedProduct = client().executeBlocking(ProductUpdateCommand.of(productWithImage, RemoveImage.ofVariantId(MASTER_VARIANT_ID, image))); assertThat(updatedProduct.getMasterData().getStaged().getMasterVariant().getImages()).hasSize(0); return updatedProduct; }); }