public interface PaymentCreateCommand extends DraftBasedCreateCommandDsl<Payment,PaymentDraft,PaymentCreateCommand>, MetaModelReferenceExpansionDsl<Payment,PaymentCreateCommand,PaymentExpansionModel<Payment>>
Payment.
CustomerFixtures.withCustomerAndCart(client(), ((customer, cart) -> { final MonetaryAmount totalAmount = cart.getTotalPrice(); final PaymentMethodInfo paymentMethodInfo = PaymentMethodInfoBuilder.of() .paymentInterface("payment interface X") .method("CREDIT_CARD") .build(); final PaymentDraftBuilder paymentDraftBuilder = PaymentDraftBuilder.of(totalAmount) .customer(customer) .paymentMethodInfo(paymentMethodInfo) ; final Payment payment = client().executeBlocking(PaymentCreateCommand.of(paymentDraftBuilder.build())); assertThat(payment.getCustomer()).isEqualTo(payment.getCustomer()); assertThat(payment.getPaymentMethodInfo()).isEqualTo(paymentMethodInfo); Assertions.assertThat(payment.getAmountPlanned()).isEqualTo(totalAmount); assertEventually(() -> { final PagedQueryResult<PaymentCreatedMessage> pagedQueryResult = client().executeBlocking(MessageQuery.of() .withPredicates(m -> m.resource().is(payment)) .forMessageType(PaymentCreatedMessage.MESSAGE_HINT)); assertThat(pagedQueryResult.head()).isPresent(); final PaymentCreatedMessage paymentCreatedMessage = pagedQueryResult.head().get(); assertThat(paymentCreatedMessage.getPayment().getId()).isEqualTo(payment.getId()); assertThat(paymentCreatedMessage.getResource().getId()).isEqualTo(payment.getId()); }); client().executeBlocking(PaymentDeleteCommand.of(payment)); }));See the test code.
PaymentDraft,
Payment| Modifier and Type | Method and Description |
|---|---|
static PaymentCreateCommand |
of(PaymentDraft draft)
Creates a command object to create a
Payment. |
getDraft, withDraftcanDeserialize, deserialize, httpRequestIntentplusExpansionPaths, withExpansionPathsplusExpansionPaths, plusExpansionPaths, plusExpansionPaths, plusExpansionPaths, withExpansionPaths, withExpansionPaths, withExpansionPaths, withExpansionPathsexpansionPathsstatic PaymentCreateCommand of(PaymentDraft draft)
Payment.draft - template to create the new object