/** * Creates a new object initialized with the given values. * * @param addressKey initial value for the property * @return new object initialized with the given values */ public static RemoveItemShippingAddress of(final String addressKey) { return new RemoveItemShippingAddress(addressKey); } }
@Test public void testRemoveAddressesToOrderUpdateAction() { withFilledCartAndMultipleAddresses(client(), cart -> { withCustomer(client(),customer -> { withOrder(client(),customer,cart,order -> { final List<Address> addresses = order.getItemShippingAddresses(); final String addressKey = addresses.get(0).getKey(); final Order updatedOrder = client().executeBlocking(OrderUpdateCommand.of(order, RemoveItemShippingAddress.of(addressKey))); assertThat(updatedOrder.getItemShippingAddresses()).hasSize(addresses.size() - 1); assertThat(updatedOrder.getItemShippingAddresses().stream().filter(address -> addressKey.equals(address.getKey())).collect(Collectors.toList())).isEmpty(); return updatedOrder; }); }); }); }