Skip to content

Commit 45b9601

Browse files
committed
SUPPORT-35419: making custom field not required
1 parent 6968c22 commit 45b9601

File tree

2 files changed

+32
-1
lines changed

2 files changed

+32
-1
lines changed

commercetools/commercetools-sdk-java-api/src/main/java/com/commercetools/api/models/payment/PaymentMethodInfoMixin.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@
44
import com.commercetools.api.models.common.LocalizedString;
55
import com.commercetools.api.models.payment_method.PaymentMethodToken;
66
import com.commercetools.api.models.type.CustomFields;
7+
import com.commercetools.api.models.type.CustomFieldsMixin;
8+
9+
import java.util.Optional;
710

811
public interface PaymentMethodInfoMixin {
912

@@ -26,7 +29,7 @@ public default PaymentMethodInfoDraft toDraft() {
2629
.paymentInterface(getPaymentInterface())
2730
.token(getToken())
2831
.interfaceAccount(getInterfaceAccount())
29-
.custom(getCustom().toDraft())
32+
.custom(Optional.ofNullable(getCustom()).map(CustomFieldsMixin::toDraft).orElse(null))
3033
.build();
3134
}
3235
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package com.commercetools;
2+
3+
import com.commercetools.api.models.cart_discount.CartDiscountValue;
4+
import com.commercetools.api.models.cart_discount.CartDiscountValueAbsoluteDraft;
5+
import com.commercetools.api.models.common.LocalizedString;
6+
import com.commercetools.api.models.common.Money;
7+
import com.commercetools.api.models.customer.CustomerResourceIdentifierBuilder;
8+
import com.commercetools.api.models.payment.PaymentDraft;
9+
import com.commercetools.api.models.payment.PaymentMethodInfo;
10+
import org.assertj.core.api.Assert;
11+
import org.junit.jupiter.api.Test;
12+
import org.mockito.Mock;
13+
14+
import static org.assertj.core.api.Assertions.assertThat;
15+
import static org.junit.jupiter.api.Assertions.assertNotNull;
16+
17+
public class PaymentMethodInfoMixinTest {
18+
@Test
19+
public void noCustomFieldTest() {
20+
var paymentMethodInfo = PaymentMethodInfo.builder()
21+
.paymentInterface("interface")
22+
.method("method")
23+
.name(LocalizedString.of())
24+
.build();
25+
26+
assertNotNull(paymentMethodInfo.toDraft());
27+
}
28+
}

0 commit comments

Comments
 (0)