@JsonIgnore public static Price of(final BigDecimal amount, final CurrencyUnit currencyUnit) { return of(MoneyImpl.of(amount, currencyUnit)); } }
@JsonIgnore public static Price of(final BigDecimal amount, final CurrencyUnit currencyUnit) { return of(MoneyImpl.of(amount, currencyUnit)); } }
@JsonIgnore static Price of(final BigDecimal amount, final CurrencyUnit currencyUnit) { return of(MoneyImpl.of(amount, currencyUnit)); }
@JsonIgnore public static Price of(final BigDecimal amount, final CurrencyUnit currencyUnit) { return of(MoneyImpl.of(amount, currencyUnit)); }
@JsonIgnore static Price of(final BigDecimal amount, final CurrencyUnit currencyUnit) { return of(MoneyImpl.of(amount, currencyUnit)); }
@Test public void copyPriceWithoutCustom() { final Price price = Price.of(BigDecimal.TEN, DefaultCurrencyUnits.EUR); final PriceDraftBuilder priceDraftBuilder = PriceDraftBuilder.of(price); assertThat(priceDraftBuilder).isNotNull(); } }
@Test public void checkProductVaiantAtributes() throws Exception { assertThat(productVariant.getSku().equals("1f92d491-2180-489c-bcef-3966cdc68c0b")); assertThat(productVariant.getPrices()) .as("comparing prices ") .isEqualTo(asList(Price.of(BigDecimal.valueOf(12.34), DefaultCurrencyUnits.EUR).withCountry(CountryCode.DE).withId("70a56289-bd20-4c47-8364-47b498ad993b"))); assertThat(productVariant.getImages().isEmpty()); assertThat(productVariant.getAssets().isEmpty()); assertThat(productVariant.getAttributes().isEmpty()); } }
@Test public void checkProductVaiantAtributes() throws Exception { assertThat(productVariant.getSku().equals("1f92d491-2180-489c-bcef-3966cdc68c0b")); assertThat(productVariant.getPrices()) .as("comparing prices ") .isEqualTo(asList(Price.of(BigDecimal.valueOf(12.34), DefaultCurrencyUnits.EUR).withCountry(CountryCode.DE).withId("70a56289-bd20-4c47-8364-47b498ad993b"))); assertThat(productVariant.getImages().isEmpty()); assertThat(productVariant.getAssets().isEmpty()); assertThat(productVariant.getAttributes().isEmpty()); } }
@Test public void minimalOrder() throws Exception { withProduct(client(), product -> { final String productId = product.getId(); final int variantId = 1; final LocalizedString name = en("a name"); final long quantity = 1; final Price price = Price.of(EURO_10); final OrderState orderState = OrderState.OPEN; final MonetaryAmount amount = EURO_10; final ProductVariantImportDraft variant = ProductVariantImportDraftBuilder.of(productId, variantId).build(); final LineItemImportDraft lineItemImportDraft = LineItemImportDraftBuilder.of(variant, quantity, price, name).build(); final OrderImportDraft orderImportDraft = OrderImportDraftBuilder.ofLineItems(amount, orderState, asList(lineItemImportDraft)) .country(DE).build(); final OrderImportCommand cmd = OrderImportCommand.of(orderImportDraft); final Order order = client().executeBlocking(cmd); assertThat(order.getOrderState()).isEqualTo(orderState); assertThat(order.getTotalPrice()).isEqualTo(amount); assertThat(order.getLineItems()).hasSize(1); assertThat(order.getCountry()).isEqualTo(DE); assertThat(order.getCart()).isNull(); final LineItem lineItem = order.getLineItems().get(0); assertThat(lineItem.getName()).isEqualTo(name); assertThat(lineItem.getProductId()).isEqualTo(productId); assertThat(lineItem.getVariant().getId()).isEqualTo(variantId); assertThat(lineItem.getName()).isEqualTo(name); assertThat(lineItem.getQuantity()).isEqualTo(quantity); }); }
@Test public void createsLineImportDraft() { final String productId = "product-id"; final ProductVariantImportDraft variant = ProductVariantImportDraftBuilder.of(productId, 1) .attributes( AttributeImportDraft.of("attributecolor", yellow), AttributeImportDraft.of("attributerrp", EURO_30) ).build(); final int quantity = 1; final Price price = Price.of(EURO_1); final LocalizedString name = en("line item name"); final Set<ItemState> state = asSet(ItemState.of(State.referenceOfId("state-id"), 2)); final Reference<Channel> supplyChannel = Channel.referenceOfId("channel-id"); final CustomFieldsDraft custom = CustomFieldsDraftBuilder.ofTypeId("type-id").build(); final LineItemImportDraftBuilder lineItemImportDraftBuilder = LineItemImportDraftBuilder.of(variant, quantity, price, name) .state(state) .supplyChannel(supplyChannel) .custom(custom); final LineItemImportDraft lineItemImportDraft = lineItemImportDraftBuilder.build(); assertThat(lineItemImportDraft.getName()).isEqualTo(name); assertThat(lineItemImportDraft.getProductId()).isEqualTo(productId); assertThat(lineItemImportDraft.getVariant()).isEqualTo(variant); assertThat(lineItemImportDraft.getPrice()).isEqualTo(PriceDraft.of(price)); assertThat(lineItemImportDraft.getQuantity()).isEqualTo(quantity); assertThat(lineItemImportDraft.getState()).isEqualTo(state); assertThat(lineItemImportDraft.getSupplyChannel()).isEqualTo(supplyChannel); assertThat(lineItemImportDraft.getCustom()).isEqualTo(custom); } }
AttributeImportDraft.of("attributerrp", EURO_30) ).build(); final LineItemImportDraft lineItemImportDraft = LineItemImportDraftBuilder.of(productVariantImportDraft, 1, Price.of(EURO_1), en("product name")).build(); final Reference<TaxCategory> taxCategoryReference = TaxCategory.referenceOfId("reference-tax-category-id"); final CustomLineItemImportDraft customLineItemImportDraft = CustomLineItemImportDraftBuilder.of(en("custom line"), 2, EURO_5, taxCategoryReference).build();
).build(); final LineItemImportDraft lineItemImportDraft = LineItemImportDraftBuilder.of(productVariantImportDraft, 1L, Price.of(EURO_30), en("product name")) .build(); final OrderImportDraft orderImportDraft = OrderImportDraftBuilder
private void testOrderAspect(final Consumer<OrderImportDraftBuilder> orderBuilderConsumer, final Consumer<Order> orderConsumer) { withProduct(client(), product -> { final String productId = product.getId(); final int variantId = 1; final LocalizedString name = en("a name"); final long quantity = 1; final Price price = Price.of(EURO_10); final OrderState orderState = OrderState.OPEN; final MonetaryAmount amount = EURO_10; final ProductVariantImportDraft variant = ProductVariantImportDraftBuilder.of(productId, variantId).build(); final LineItemImportDraft lineItemImportDraft = LineItemImportDraftBuilder.of(variant, quantity, price, name).build(); final OrderImportDraftBuilder orderImportDraftBuilder = OrderImportDraftBuilder.ofLineItems(amount, orderState, asList(lineItemImportDraft)); orderBuilderConsumer.accept(orderImportDraftBuilder); final OrderImportDraft orderImportDraft = orderImportDraftBuilder.build(); final OrderImportCommand cmd = OrderImportCommand.of(orderImportDraft); final Order order = client().executeBlocking(cmd); orderConsumer.accept(order); client().executeBlocking(OrderDeleteCommand.of(order)); }); }
@Test public void inventoryMode() throws Exception { testOrderAspect(builder -> { builder.inventoryMode(null); }, order -> assertThat(order.getInventoryMode()).isEqualTo(InventoryMode.NONE)); withProductOfStock(client(), 5, product -> { final int variantId = 1; final String sku = product.getMasterData().getStaged().getMasterVariant().getSku(); final String productId = product.getId(); final LocalizedString name = en("a name"); final long quantity = 1; final Price price = Price.of(EURO_10); final OrderState orderState = OrderState.COMPLETE; final MonetaryAmount amount = EURO_10; final TaxCalculationMode taxCalculationMode = TaxCalculationMode.LINE_ITEM_LEVEL; final ProductVariantImportDraft variant = ProductVariantImportDraftBuilder.of(productId, variantId, sku).build(); final LineItemImportDraft lineItemImportDraft = LineItemImportDraftBuilder.of(variant, quantity, price, name).build(); final OrderImportDraft orderImportDraft = OrderImportDraftBuilder.ofLineItems(amount, orderState, asList(lineItemImportDraft)) .inventoryMode(InventoryMode.TRACK_ONLY) .taxCalculationMode(taxCalculationMode) .build(); final OrderImportCommand cmd = OrderImportCommand.of(orderImportDraft); final Order order = client().executeBlocking(cmd); assertThat(order.getInventoryMode()).isEqualTo(InventoryMode.TRACK_ONLY); assertThat(order.getTaxCalculationMode()).isEqualTo(taxCalculationMode); client().executeBlocking(OrderDeleteCommand.of(order)); }); }
@Test(expected = NotFoundException.class) public void executeInvalidQuery(){ withUpdateableProductDiscount(client(),((productDiscount, product) -> { final ProductVariant masterVariant = product.getMasterData().getStaged().getMasterVariant(); final Price invalidPice = Price.of(MoneyImpl.of(0, DefaultCurrencyUnits.USD)); final ProductDiscount queryedProductDiscount = client().executeBlocking(MatchingProductDiscountGet.of(product.getId(), masterVariant.getId(), true, invalidPice)); return productDiscount; })); }
final LocalizedString name = en("a name"); final long quantity = 1; final Price price = Price.of(EURO_10); final OrderState orderState = OrderState.OPEN; final MonetaryAmount amount = EURO_10;