static ProductByIdGet of(final Identifiable<Product> product) { return of(product.getId()); }
@Test public void selectAPriceByCurrencyInProductByIdGet() { final List<PriceDraft> prices = asList(PriceDraft.of(EURO_30), PriceDraft.of(USD_20)); withProductOfPrices(prices, product -> { final ProductByIdGet request = ProductByIdGet.of(product) .withPriceSelection(PriceSelection.of(EUR));//price selection config final Product result = client().executeBlocking(request); final ProductVariant masterVariant = result.getMasterData().getStaged().getMasterVariant(); assertThat(masterVariant.getPrice()).isNotNull().has(price(PriceDraft.of(EURO_30))); }); }
assertThat(productDiscount.getValidUntil()).isEqualTo(end); final ProductByIdGet sphereRequest = ProductByIdGet.of(product) .plusExpansionPaths(m -> m.masterData().staged().masterVariant().prices().discounted().discount());
static ProductByIdGet of(final Identifiable<Product> product) { return of(product.getId()); }
static ProductByIdGet of(final Identifiable<Product> product) { return of(product.getId()); }
public static void delete(final BlockingSphereClient client, final Product product) { final Optional<Product> freshLoadedProduct = Optional.ofNullable(client.executeBlocking(ProductByIdGet.of(product.getId()))); freshLoadedProduct.ifPresent(loadedProduct -> { final boolean isPublished = loadedProduct.getMasterData().isPublished(); final Product unPublishedProduct; if (isPublished) { unPublishedProduct = unpublishWithRetry(client, loadedProduct, 5); } else { unPublishedProduct = loadedProduct; } deleteWithRetry(client, unPublishedProduct, 5); }); }
public static void withUpdateableProductDiscount(final BlockingSphereClient client, final BiFunction<ProductDiscount, Product, ProductDiscount> function) { withUpdateableProduct(client, builder -> builder.masterVariant(ProductVariantDraftBuilder.of().price(PRICE).build()), product -> { final ProductDiscountPredicate predicate = ProductDiscountPredicate.of("product.id = \"" + product.getId() + "\""); final AbsoluteProductDiscountValue discountValue = AbsoluteProductDiscountValue.of(EURO_1); final LocalizedString name = en("demo product discount"); final LocalizedString description = en("description"); final boolean active = true; final String sortOrder = randomSortOrder(); final ProductDiscountDraft discountDraft = ProductDiscountDraft.of(name, description, predicate, discountValue, sortOrder, active); final ProductDiscount productDiscount = client.executeBlocking(ProductDiscountCreateCommand.of(discountDraft)); final ProductDiscount updatedDiscount = function.apply(productDiscount, product); client.executeBlocking(ProductDiscountDeleteCommand.of(updatedDiscount)); return client.executeBlocking(ProductByIdGet.of(product)); }); }