public interface DiscountCodeCreateCommand extends DraftBasedCreateCommandDsl<DiscountCode,DiscountCodeDraft,DiscountCodeCreateCommand>, MetaModelReferenceExpansionDsl<DiscountCode,DiscountCodeCreateCommand,DiscountCodeExpansionModel<DiscountCode>>
DiscountCode.
withPersistentCartDiscount(client(), cartDiscount -> { final ZonedDateTime start = ZonedDateTime.parse("2015-07-09T07:46:40.230Z"); final ZonedDateTime end = start.plusYears(100); final String code = randomKey(); final DiscountCodeDraft draft = DiscountCodeDraftBuilder.of(code, cartDiscount) .name(en(DiscountCodeCreateCommandIntegrationTest.class.getName())) .description(en("sample discount code descr.")) .cartPredicate(CartPredicate.of("1 = 1")) .isActive(false) .maxApplications(5L) .validFrom(start) .validUntil(end) .maxApplicationsPerCustomer(1L) .groups(asList("DiscountGroup1")) .build(); final DiscountCodeCreateCommand createCommand = DiscountCodeCreateCommand.of(draft) .plusExpansionPaths(m -> m.cartDiscounts()); final DiscountCode discountCode = client().executeBlocking(createCommand); assertThat(discountCode.getCode()).isEqualTo(code); assertThat(discountCode.getName()).isEqualTo(en(DiscountCodeCreateCommandIntegrationTest.class.getName())); assertThat(discountCode.getDescription()).isEqualTo(en("sample discount code descr.")); assertThat(discountCode.getValidFrom()).isEqualTo(start); assertThat(discountCode.getValidUntil()).isEqualTo(end); final Reference<CartDiscount> cartDiscountReference = discountCode.getCartDiscounts().get(0); assertThat(cartDiscountReference) .isEqualTo(cartDiscount.toReference()) .is(expanded()); assertThat(discountCode.getCartPredicate()).contains("1 = 1"); assertThat(discountCode.isActive()).isEqualTo(false); assertThat(discountCode.getMaxApplications()).isEqualTo(5L); assertThat(discountCode.getMaxApplicationsPerCustomer()).isEqualTo(1L); assertThat(discountCode.getGroups()).containsExactly("DiscountGroup1"); //clean up client().executeBlocking(DiscountCodeDeleteCommand.of(discountCode)); });See the test code.
DiscountCodeDraft,
DiscountCode| Modifier and Type | Method and Description |
|---|---|
static DiscountCodeCreateCommand |
of(DiscountCodeDraft draft)
Creates a command object to create a
DiscountCode. |
getDraft, withDraftcanDeserialize, deserialize, httpRequestIntentplusExpansionPaths, withExpansionPathsplusExpansionPaths, plusExpansionPaths, plusExpansionPaths, plusExpansionPaths, withExpansionPaths, withExpansionPaths, withExpansionPaths, withExpansionPathsexpansionPathsstatic DiscountCodeCreateCommand of(DiscountCodeDraft draft)
DiscountCode.draft - template to create the new object