public static RemoveDiscountCode of(final Referenceable<DiscountCode> discountCode) { return new RemoveDiscountCode(discountCode.toReference()); }
@Test public void removeDiscountCode() throws Exception { withCartAndDiscountCode(client(), (cart, discountCode) -> { //addDiscountCode final Cart cartWithCode = client().executeBlocking(CartUpdateCommand.of(cart, AddDiscountCode.of(discountCode))); final DiscountCodeInfo discountCodeInfo = cartWithCode.getDiscountCodes().get(0); assertThat(discountCodeInfo.getDiscountCode()).isEqualTo(discountCode.toReference()); //removeDiscountCode final Cart updatedCart = client().executeBlocking(CartUpdateCommand.of(cartWithCode, RemoveDiscountCode.of(discountCode))); assertThat(updatedCart.getDiscountCodes()).isEmpty(); return updatedCart; }); }
@Test public void expandDiscountCodeReference() throws Exception { withCartAndDiscountCode(client(), (cart, discountCode) -> { //addDiscountCode final Cart cartWithCode = client().executeBlocking(CartUpdateCommand.of(cart, AddDiscountCode.of(discountCode))); final CartQuery query = CartQuery.of() .withPredicates(m -> m.id().is(cart.getId())) .withExpansionPaths(m -> m.discountCodes().discountCode()); final Cart loadedCart = client().executeBlocking(query).head().get(); final DiscountCodeInfo discountCodeInfo = loadedCart.getDiscountCodes().get(0); assertThat(discountCodeInfo.getDiscountCode()).isEqualTo(discountCode.toReference()); assertThat(discountCodeInfo.getDiscountCode().getObj()).isNotNull(); //query cart by discountCodes final CartQuery cartQuery = CartQuery.of() .withPredicates(m -> m.discountCodes().discountCode().is(discountCode)) .plusPredicates(m -> m.is(cart)); assertThat(client().executeBlocking(cartQuery).head()).contains(loadedCart); //clean up final Cart updatedCart = client().executeBlocking(CartUpdateCommand.of(cartWithCode, RemoveDiscountCode.of(discountCode))); assertThat(updatedCart.getDiscountCodes()).isEmpty(); return updatedCart; }); }
public static RemoveDiscountCode of(final Referenceable<DiscountCode> discountCode) { return new RemoveDiscountCode(discountCode.toReference()); }
public static RemoveDiscountCode of(final Referenceable<DiscountCode> discountCode) { return new RemoveDiscountCode(discountCode.toReference()); }