public static SetCustomShippingMethod of(final String shippingMethodName, final ShippingRate shippingRate, final Referenceable<TaxCategory> taxCategory) { return new SetCustomShippingMethod(shippingMethodName, shippingRate, taxCategory); }
@Test public void addCustomShippingMethod() { final CartDraft draft = CartDraft.of(EUR) .withTaxMode(TaxMode.EXTERNAL) .withShippingAddress(Address.of(DE)); withCartDraft(client(), draft, (Cart cart) -> { final String taxRateName = "special tax"; final double taxRate = 0.20; final ExternalTaxRateDraft externalTaxRate = ExternalTaxRateDraftBuilder.ofAmount(taxRate, taxRateName, DE).build(); final ShippingRate shippingRate = ShippingRate.of(EURO_10,null, Collections.emptyList()); final SetCustomShippingMethod action = SetCustomShippingMethod.ofExternalTaxCalculation("name", shippingRate, externalTaxRate); final Cart cartWithShippingMethod = client().executeBlocking(CartUpdateCommand.of(cart, action)); final CartShippingInfo shippingInfo = cartWithShippingMethod.getShippingInfo(); assertThat(shippingInfo).isNotNull(); assertThat(shippingInfo.getShippingRate()).isEqualTo(shippingRate); assertThat(shippingInfo.getTaxCategory()).isNull(); assertThat(shippingInfo.getTaxedPrice().getTotalNet()).isEqualTo(EURO_10); assertThat(shippingInfo.getTaxedPrice().getTotalGross()).isEqualTo(EURO_12); assertThat(shippingInfo.getTaxRate().getName()).isEqualTo(taxRateName); return cartWithShippingMethod; }); }
@Test public void setCustomShippingMethod() throws Exception { withTaxCategory(client(), taxCategory -> { final Cart cart = createCartWithShippingAddress(client()); assertThat(cart.getShippingInfo()).isNull(); final MonetaryAmount price = MoneyImpl.of(new BigDecimal("23.50"), EUR); final ShippingRate shippingRate = ShippingRate.of(price, null, Collections.emptyList()); final String shippingMethodName = "custom-shipping"; final SetCustomShippingMethod action = SetCustomShippingMethod.of(shippingMethodName, shippingRate, taxCategory); final Cart cartWithShippingMethod = client().executeBlocking(CartUpdateCommand.of(cart, action)); final CartShippingInfo shippingInfo = cartWithShippingMethod.getShippingInfo(); assertThat(shippingInfo.getPrice()).isEqualTo(price); assertThat(shippingInfo.getShippingMethod()).isNull(); assertThat(shippingInfo.getShippingMethodName()).isEqualTo(shippingMethodName); assertThat(shippingInfo.getShippingRate()).isEqualTo(shippingRate); assertThat(shippingInfo.getTaxCategory()).isEqualTo(taxCategory.toReference()); assertThat(shippingInfo.getTaxRate()).isNotNull(); }); }
final ShippingRate shippingRate = ShippingRate.of(EURO_10,null, Collections.emptyList()); final SetCustomShippingMethod action = SetCustomShippingMethod.ofExternalTaxCalculation("name", shippingRate);
public static void withNonUpdatedOrder(final BlockingSphereClient client, final Customer customer, final UnaryOperator<Order> op) { withFilledCart(client, cart -> { final TaxCategory taxCategory = TaxCategoryFixtures.defaultTaxCategory(client); final SetCustomShippingMethod shippingMethodAction = SetCustomShippingMethod.of("custom shipping method", ShippingRate.of(EURO_10), taxCategory); final SetCustomerEmail emailAction = SetCustomerEmail.of(CUSTOMER_EMAIL); final Cart updatedCart = client.executeBlocking(CartUpdateCommand.of(cart, asList(shippingMethodAction, emailAction))); final CustomerSignInCommand signInCommand = CustomerSignInCommand.of(customer.getEmail(), CustomerFixtures.PASSWORD, cart.getId()); final CustomerSignInResult signInResult = client.executeBlocking(signInCommand); final Order order = client.executeBlocking(OrderFromCartCreateCommand.of(signInResult.getCart())); final Order orderToDelete = op.apply(order); client.executeBlocking(OrderDeleteCommand.of(orderToDelete)); }); }
public static SetCustomShippingMethod of(final String shippingMethodName, final ShippingRate shippingRate, final Referenceable<TaxCategory> taxCategory) { return new SetCustomShippingMethod(shippingMethodName, shippingRate, taxCategory); }
)); final SetCustomShippingMethod action = SetCustomShippingMethod.ofExternalTaxCalculation("name", shippingRate, externalTaxRate);
private static Order createOrderFromCart(BlockingSphereClient client, Customer customer, Cart cart) { final TaxCategory taxCategory = TaxCategoryFixtures.defaultTaxCategory(client); final SetCustomShippingMethod shippingMethodAction = SetCustomShippingMethod.of("custom shipping method", ShippingRate.of(EURO_10), taxCategory); final SetCustomerEmail emailAction = SetCustomerEmail.of(CUSTOMER_EMAIL); client.executeBlocking(CartUpdateCommand.of(cart, asList(shippingMethodAction, emailAction))); final CustomerSignInCommand signInCommand = CustomerSignInCommand.of(customer.getEmail(), CustomerFixtures.PASSWORD, cart.getId()); final CustomerSignInResult signInResult = client.executeBlocking(signInCommand); final Order order = client.executeBlocking(OrderFromCartCreateCommand.of(signInResult.getCart())); return client.executeBlocking(OrderUpdateCommand.of(order, asList( ChangeShipmentState.of(ShipmentState.READY), ChangePaymentState.of(PaymentState.PENDING) ))); }
public static SetCustomShippingMethod of(final String shippingMethodName, final ShippingRate shippingRate, final Referenceable<TaxCategory> taxCategory) { return new SetCustomShippingMethod(shippingMethodName, shippingRate, taxCategory); }
)); final SetCustomShippingMethod action = SetCustomShippingMethod.ofExternalTaxCalculation("name", shippingRate, externalTaxRate); final Cart cartWithShippingMethod = client().executeBlocking(CartUpdateCommand.of(cart, action));
public static SetCustomShippingMethod ofExternalTaxCalculation(final String shippingMethodName, final ShippingRate shippingRate) { return new SetCustomShippingMethod(shippingMethodName, shippingRate, null, null); }
SetCustomShippingMethod.ofExternalTaxCalculation("name", shippingRate, externalTaxRate); final Cart cartWithShippingMethod = client().executeBlocking(CartUpdateCommand.of(cart, action));
public static SetCustomShippingMethod of(final String shippingMethodName, final ShippingRate shippingRate, final ResourceIdentifier<TaxCategory> taxCategory) { return new SetCustomShippingMethod(shippingMethodName, shippingRate, taxCategory, null); }
public static SetCustomShippingMethod ofExternalTaxCalculation(final String shippingMethodName, final ShippingRate shippingRate, final ExternalTaxRateDraft externalTaxRate) { return new SetCustomShippingMethod(shippingMethodName, shippingRate, null, externalTaxRate); }
public static SetCustomShippingMethod of(final String shippingMethodName, final ShippingRate shippingRate, final ResourceIdentifier<TaxCategory> taxCategory) { return new SetCustomShippingMethod(shippingMethodName, shippingRate, taxCategory, null); }
public static SetCustomShippingMethod ofExternalTaxCalculation(final String shippingMethodName, final ShippingRate shippingRate, final ExternalTaxRateDraft externalTaxRate) { return new SetCustomShippingMethod(shippingMethodName, shippingRate, null, externalTaxRate); }
public static SetCustomShippingMethod ofExternalTaxCalculation(final String shippingMethodName, final ShippingRate shippingRate) { return new SetCustomShippingMethod(shippingMethodName, shippingRate, null, null); }
public static SetCustomShippingMethod of(final String shippingMethodName, final ShippingRate shippingRate, final Referenceable<TaxCategory> taxCategory) { return new SetCustomShippingMethod(shippingMethodName, shippingRate, taxCategory !=null? taxCategory.toResourceIdentifier() : null, null); }
public static SetCustomShippingMethod of(final String shippingMethodName, final ShippingRate shippingRate, final Referenceable<TaxCategory> taxCategory) { return new SetCustomShippingMethod(shippingMethodName, shippingRate, taxCategory !=null? taxCategory.toResourceIdentifier() : null, null); }