public static AddVariant of(final List<AttributeDraft> attributes, final List<PriceDraft> prices) { return new AddVariant(attributes, prices, null); } }
public static AddVariant of(final List<AttributeDraft> attributes, final List<PriceDraft> prices) { return of(attributes, prices, null, null); }
assertThat(assets).hasSize(1); final AddVariant updateAction = AddVariant.of(attributeValues, prices, sku) .withKey(key) .withImages(singletonList(image)) .withAssets(assets); final ProductUpdateCommand addVariantCommand = ProductUpdateCommand.of(product, updateAction);
final String key = randomKey(); final Image image = Image.of("url", ImageDimensions.of(3, 5)); final AddVariant updateAction = AddVariant.of(attributeValues, prices, sku, staged) .withKey(key) .withImages(singletonList(image)); final ProductUpdateCommand addVariantCommand = ProductUpdateCommand.of(product, updateAction);
final List<AttributeDraft> attributeValues = asList(moneyAttributeValue, colorAttributeValue, sizeValue); final ProductUpdateCommand addVariantCommand = ProductUpdateCommand.of(product, AddVariant.of(attributeValues, prices, randomKey(), true).withImages(Arrays.asList(image)));
public AddVariant withAssets(final List<Asset> assets) { return new AddVariant(attributes, prices, sku, key, images, staged, assets); }
public static AddVariant of(final List<AttributeDraft> attributes, final List<PriceDraft> prices) { return of(attributes, prices, null, null); }
public static AddVariant of(final List<Attribute> attributes, final List<Price> prices, final Optional<String> sku, final ProductUpdateScope productUpdateScope) { return new AddVariant(attributes, prices, sku, productUpdateScope); } }
public static AddVariant of(final List<AttributeDraft> attributes, final List<PriceDraft> prices, @Nullable final String sku) { return of(attributes, prices, sku, null); }
public AddVariant withImages(final List<Image> images) { return new AddVariant(attributes, prices, sku, key, images, staged, assets); }
public static AddVariant of(final List<AttributeDraft> attributes, final List<PriceDraft> prices, @Nullable final String sku) { return of(attributes, prices, sku, null); }
public AddVariant withAssets(final List<Asset> assets) { return new AddVariant(attributes, prices, sku, key, images, staged, assets); }
private void removeVariantBySkuWithStaged(final Boolean staged) { final NamedAttributeAccess<MonetaryAmount> moneyAttribute = AttributeAccess.ofMoney().ofName(MONEY_ATTRIBUTE_NAME); final AttributeDraft moneyAttributeValue = AttributeDraft.of(moneyAttribute, EURO_10); final NamedAttributeAccess<LocalizedEnumValue> colorAttribute = Colors.ATTRIBUTE; final LocalizedEnumValue color = Colors.RED; final AttributeDraft colorAttributeValue = AttributeDraft.of(colorAttribute, color); final NamedAttributeAccess<EnumValue> sizeAttribute = Sizes.ATTRIBUTE; final AttributeDraft sizeValue = AttributeDraft.of(sizeAttribute, Sizes.M); withUpdateableProduct(client(), product -> { assertThat(product.getMasterData().getStaged().getVariants()).isEmpty(); assertThat(product.getMasterData().hasStagedChanges()).isFalse(); final PriceDraft price = PriceDraft.of(MoneyImpl.of(new BigDecimal("12.34"), EUR)).withCountry(DE); final List<PriceDraft> prices = asList(price); final List<AttributeDraft> attributeValues = asList(moneyAttributeValue, colorAttributeValue, sizeValue); final ProductUpdateCommand addVariantCommand = ProductUpdateCommand.of(product, AddVariant.of(attributeValues, prices, randomKey(), false)); final Product productWithVariant = client().executeBlocking(addVariantCommand); final ProductVariant variant = productWithVariant.getMasterData().getStaged().getVariants().get(0); assertThat(productWithVariant.getMasterData().hasStagedChanges()).isFalse(); final Product productWithoutVariant = client().executeBlocking(ProductUpdateCommand.of(productWithVariant, RemoveVariant.ofSku(variant.getSku(), staged))); assertThat(productWithoutVariant.getMasterData().getStaged().getVariants()).isEmpty(); assertThat(productWithoutVariant.getMasterData().hasStagedChanges()).isEqualTo(staged); return productWithoutVariant; }); }
public AddVariant withImages(final List<Image> images) { return new AddVariant(attributes, prices, sku, key, images, staged, assets); }
private void removeVariantByIdWithStaged(final Boolean staged) { final NamedAttributeAccess<MonetaryAmount> moneyAttribute = AttributeAccess.ofMoney().ofName(MONEY_ATTRIBUTE_NAME); final AttributeDraft moneyAttributeValue = AttributeDraft.of(moneyAttribute, EURO_10); final NamedAttributeAccess<LocalizedEnumValue> colorAttribute = Colors.ATTRIBUTE; final LocalizedEnumValue color = Colors.RED; final AttributeDraft colorAttributeValue = AttributeDraft.of(colorAttribute, color); final NamedAttributeAccess<EnumValue> sizeAttribute = Sizes.ATTRIBUTE; final AttributeDraft sizeValue = AttributeDraft.of(sizeAttribute, Sizes.M); withUpdateableProduct(client(), product -> { assertThat(product.getMasterData().getStaged().getVariants()).isEmpty(); assertThat(product.getMasterData().hasStagedChanges()).isFalse(); final PriceDraft price = PriceDraft.of(MoneyImpl.of(new BigDecimal("12.34"), EUR)).withCountry(DE); final List<PriceDraft> prices = asList(price); final List<AttributeDraft> attributeValues = asList(moneyAttributeValue, colorAttributeValue, sizeValue); final ProductUpdateCommand addVariantCommand = ProductUpdateCommand.of(product, AddVariant.of(attributeValues, prices, randomKey(), false)); final Product productWithVariant = client().executeBlocking(addVariantCommand); final ProductVariant variant = productWithVariant.getMasterData().getStaged().getVariants().get(0); assertThat(productWithVariant.getMasterData().hasStagedChanges()).isFalse(); final Product productWithoutVariant = client().executeBlocking(ProductUpdateCommand.of(productWithVariant, RemoveVariant.ofVariantId(variant.getId(), staged))); assertThat(productWithoutVariant.getMasterData().getStaged().getVariants()).isEmpty(); assertThat(productWithoutVariant.getMasterData().hasStagedChanges()).isEqualTo(staged); return productWithoutVariant; }); }
public static AddVariant of(final List<AttributeDraft> attributes, final List<PriceDraft> prices, @Nullable final Boolean staged) { return new AddVariant(attributes, prices, null, null, null, staged, null); } }
@Test public void removeVariantById() throws Exception { final NamedAttributeAccess<MonetaryAmount> moneyAttribute = AttributeAccess.ofMoney().ofName(MONEY_ATTRIBUTE_NAME); final AttributeDraft moneyAttributeValue = AttributeDraft.of(moneyAttribute, EURO_10); final NamedAttributeAccess<LocalizedEnumValue> colorAttribute = Colors.ATTRIBUTE; final LocalizedEnumValue color = Colors.RED; final AttributeDraft colorAttributeValue = AttributeDraft.of(colorAttribute, color); final NamedAttributeAccess<EnumValue> sizeAttribute = Sizes.ATTRIBUTE; final AttributeDraft sizeValue = AttributeDraft.of(sizeAttribute, Sizes.M); withUpdateableProduct(client(), product -> { assertThat(product.getMasterData().getStaged().getVariants()).isEmpty(); assertThat(product.getMasterData().hasStagedChanges()).isFalse(); final PriceDraft price = PriceDraft.of(MoneyImpl.of(new BigDecimal("12.34"), EUR)).withCountry(DE); final List<PriceDraft> prices = asList(price); final List<AttributeDraft> attributeValues = asList(moneyAttributeValue, colorAttributeValue, sizeValue); final ProductUpdateCommand addVariantCommand = ProductUpdateCommand.of(product, AddVariant.of(attributeValues, prices, randomKey(), false)); final Product productWithVariant = client().executeBlocking(addVariantCommand); final ProductVariant variant = productWithVariant.getMasterData().getStaged().getVariants().get(0); assertThat(productWithVariant.getMasterData().hasStagedChanges()).isFalse(); final Product productWithoutVariant = client().executeBlocking(ProductUpdateCommand.of(productWithVariant, RemoveVariant.ofVariantId(variant.getId()))); assertThat(productWithoutVariant.getMasterData().getStaged().getVariants()).isEmpty(); assertThat(productWithoutVariant.getMasterData().hasStagedChanges()).isTrue(); return productWithoutVariant; }); }
public static AddVariant of(final List<AttributeDraft> attributes, final List<PriceDraft> prices, @Nullable final Boolean staged) { return new AddVariant(attributes, prices, null, null, null, staged, null); } }
@Test public void removeVariantBySku() throws Exception { final NamedAttributeAccess<MonetaryAmount> moneyAttribute = AttributeAccess.ofMoney().ofName(MONEY_ATTRIBUTE_NAME); final AttributeDraft moneyAttributeValue = AttributeDraft.of(moneyAttribute, EURO_10); final NamedAttributeAccess<LocalizedEnumValue> colorAttribute = Colors.ATTRIBUTE; final LocalizedEnumValue color = Colors.RED; final AttributeDraft colorAttributeValue = AttributeDraft.of(colorAttribute, color); final NamedAttributeAccess<EnumValue> sizeAttribute = Sizes.ATTRIBUTE; final AttributeDraft sizeValue = AttributeDraft.of(sizeAttribute, Sizes.M); withUpdateableProduct(client(), product -> { assertThat(product.getMasterData().getStaged().getVariants()).isEmpty(); assertThat(product.getMasterData().hasStagedChanges()).isFalse(); final PriceDraft price = PriceDraft.of(MoneyImpl.of(new BigDecimal("12.34"), EUR)).withCountry(DE); final List<PriceDraft> prices = asList(price); final List<AttributeDraft> attributeValues = asList(moneyAttributeValue, colorAttributeValue, sizeValue); final ProductUpdateCommand addVariantCommand = ProductUpdateCommand.of(product, AddVariant.of(attributeValues, prices, randomKey(), false)); final Product productWithVariant = client().executeBlocking(addVariantCommand); final ProductVariant variant = productWithVariant.getMasterData().getStaged().getVariants().get(0); assertThat(productWithVariant.getMasterData().hasStagedChanges()).isFalse(); final Product productWithoutVariant = client().executeBlocking(ProductUpdateCommand.of(productWithVariant, RemoveVariant.ofSku(variant.getSku()))); assertThat(productWithoutVariant.getMasterData().getStaged().getVariants()).isEmpty(); assertThat(productWithoutVariant.getMasterData().hasStagedChanges()).isTrue(); return productWithoutVariant; }); }
public AddVariant withSku(@Nullable final String sku) { return new AddVariant(attributes, prices, sku, key, images, staged, assets); }