public AddReturnInfo withReturnDate(final ZonedDateTime returnDate) { return of(items, returnDate, returnTrackingId); }
public static AddReturnInfo of(final List<ReturnItemDraft> items, final Optional<Instant> returnDate, final Optional<String> returnTrackingId) { return new AddReturnInfo(items, returnDate, returnTrackingId); }
@Test public void addReturnInfo() throws Exception { withOrder(client(), order -> { assertThat(order.getReturnInfo()).isEmpty(); final String lineItemId = order.getLineItems().get(0).getId(); final List<LineItemReturnItemDraft> items = asList(LineItemReturnItemDraft.of(1L, lineItemId, ReturnShipmentState.RETURNED, "foo bar")); final AddReturnInfo action = AddReturnInfo.of(items).withReturnDate(ZonedDateTime_IN_PAST).withReturnTrackingId("trackingId"); final Order updatedOrder = client().executeBlocking(OrderUpdateCommand.of(order, action)); final ReturnInfo returnInfo = updatedOrder.getReturnInfo().get(0); final ReturnItem returnItem = returnInfo.getItems().get(0); assertThat(returnItem).isInstanceOf(LineItemReturnItem.class); final LineItemReturnItem lineItemReturnItem = (LineItemReturnItem) returnItem; assertThat(returnItem.getQuantity()).isEqualTo(1); assertThat(lineItemReturnItem.getLineItemId()).isEqualTo(lineItemId); assertThat(lineItemReturnItem.getShipmentState()).isEqualTo(ReturnShipmentState.RETURNED); assertThat(lineItemReturnItem.getComment()).contains("foo bar"); assertThat(returnInfo.getReturnDate()).isEqualTo(ZonedDateTime_IN_PAST); assertThat(returnInfo.getReturnTrackingId()).contains("trackingId"); return updatedOrder; }); }
@Test public void addReturnInfoOfCustomLineItems() throws Exception { withOrderOfCustomLineItems(client(), order -> { assertThat(order.getReturnInfo()).isEmpty(); assertThat(order.getCustomLineItems()).isNotEmpty(); final String customLineItemId = order.getCustomLineItems().get(0).getId(); final List<CustomLineItemReturnItemDraft> items = asList(CustomLineItemReturnItemDraft.of(1L, customLineItemId, ReturnShipmentState.RETURNED, "foo bar")); final AddReturnInfo action = AddReturnInfo.of(items).withReturnDate(ZonedDateTime_IN_PAST).withReturnTrackingId("trackingId"); final Order updatedOrder = client().executeBlocking(OrderUpdateCommand.of(order, action)); final ReturnInfo returnInfo = updatedOrder.getReturnInfo().get(0); final ReturnItem returnItem = returnInfo.getItems().get(0); assertThat(returnItem).isInstanceOf(CustomLineItemReturnItem.class); final CustomLineItemReturnItem customLineItemReturnItem = (CustomLineItemReturnItem) returnItem; assertThat(returnItem.getQuantity()).isEqualTo(1); assertThat(customLineItemReturnItem.getCustomLineItemId()).isEqualTo(customLineItemId); assertThat(customLineItemReturnItem.getShipmentState()).isEqualTo(ReturnShipmentState.RETURNED); assertThat(customLineItemReturnItem.getComment()).contains("foo bar"); assertThat(returnInfo.getReturnDate()).isEqualTo(ZonedDateTime_IN_PAST); assertThat(returnInfo.getReturnTrackingId()).contains("trackingId"); }); }
public AddReturnInfo withReturnDate(final ZonedDateTime returnDate) { return of(items, returnDate, returnTrackingId); }
public static AddReturnInfo of(final List<? extends ReturnItemDraft> items, @Nullable final ZonedDateTime returnDate, @Nullable final String returnTrackingId) { return new AddReturnInfo(items, returnDate, returnTrackingId); }
public AddReturnInfo withReturnTrackingId(final String returnTrackingId) { return of(items, returnDate, returnTrackingId); }
public static AddReturnInfo of(final List<ReturnItemDraft> items, @Nullable final ZonedDateTime returnDate, @Nullable final String returnTrackingId) { return new AddReturnInfo(items, returnDate, returnTrackingId); }
public AddReturnInfo withReturnTrackingId(final String returnTrackingId) { return of(items, returnDate, returnTrackingId); }
public static AddReturnInfo of(final List<? extends ReturnItemDraft> items, @Nullable final ZonedDateTime returnDate, @Nullable final String returnTrackingId) { return new AddReturnInfo(items, returnDate, returnTrackingId); }
public static AddReturnInfo of(final List<ReturnItemDraft> items) { return of(items, null, null); }
public static AddReturnInfo of(final List<? extends ReturnItemDraft> items) { return of(items, null, null); }
public AddReturnInfo withReturnDate(final ZonedDateTime returnDate) { return of(items, returnDate, returnTrackingId); }
public AddReturnInfo withReturnTrackingId(final String returnTrackingId) { return of(items, returnDate, returnTrackingId); }
public static AddReturnInfo of(final List<? extends ReturnItemDraft> items) { return of(items, null, null); }
public AddReturnInfo withReturnDate(final Instant returnDate) { return of(items, Optional.of(returnDate), returnTrackingId); }
public AddReturnInfo withReturnTrackingId(final String returnTrackingId) { return of(items, returnDate, Optional.of(returnTrackingId)); }
public static AddReturnInfo of(final List<ReturnItemDraft> items) { return of(items, Optional.empty(), Optional.empty()); }
public static void withOrderAndReturnInfo(final BlockingSphereClient client, final BiFunction<Order, ReturnInfo, Order> f) { withOrder(client, order -> { Assertions.assertThat(order.getReturnInfo()).isEmpty(); final String lineItemId = order.getLineItems().get(0).getId(); final List<LineItemReturnItemDraft> items = asList(LineItemReturnItemDraft.of(1L, lineItemId, ReturnShipmentState.RETURNED, "foo bar")); final AddReturnInfo action = AddReturnInfo.of(items); final AddDelivery addDelivery = AddDelivery.of(asList(DeliveryItem.of(lineItemId, 1))); final Order updatedOrder = client.executeBlocking(OrderUpdateCommand.of(order, asList(action, addDelivery))); final ReturnInfo returnInfo = updatedOrder.getReturnInfo().get(0); return f.apply(updatedOrder, returnInfo); }); } }