diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs index 544b161a604..4dc886129c0 100644 --- a/.git-blame-ignore-revs +++ b/.git-blame-ignore-revs @@ -9,3 +9,5 @@ de95c481329aa8b821e6e71ac35c1b8bc67e3e86 78c44064f4ec15091bde7a2dc590aa2b3a99341d 03665b75a1e1c3a3cf28df1dec52e91b308e4368 7e25c796da25ae080a952936de535a1228fed448 +7ceb871552e5d9cb0379fbba014690aa067061eb +af9205fa592e4ae32ceca951c560a48b512b7744 diff --git a/commercetools/commercetools-sdk-java-api/src/main/java/com/commercetools/api/models/payment/PaymentMethodInfoMixin.java b/commercetools/commercetools-sdk-java-api/src/main/java/com/commercetools/api/models/payment/PaymentMethodInfoMixin.java index 8ee5d24e0f6..3228e861b68 100644 --- a/commercetools/commercetools-sdk-java-api/src/main/java/com/commercetools/api/models/payment/PaymentMethodInfoMixin.java +++ b/commercetools/commercetools-sdk-java-api/src/main/java/com/commercetools/api/models/payment/PaymentMethodInfoMixin.java @@ -1,9 +1,12 @@ package com.commercetools.api.models.payment; +import java.util.Optional; + import com.commercetools.api.models.common.LocalizedString; import com.commercetools.api.models.payment_method.PaymentMethodToken; import com.commercetools.api.models.type.CustomFields; +import com.commercetools.api.models.type.CustomFieldsMixin; public interface PaymentMethodInfoMixin { @@ -26,7 +29,7 @@ public default PaymentMethodInfoDraft toDraft() { .paymentInterface(getPaymentInterface()) .token(getToken()) .interfaceAccount(getInterfaceAccount()) - .custom(getCustom().toDraft()) + .custom(Optional.ofNullable(getCustom()).map(CustomFieldsMixin::toDraft).orElse(null)) .build(); } } diff --git a/commercetools/commercetools-sdk-java-api/src/test/java/com/commercetools/PaymentMethodInfoMixinTest.java b/commercetools/commercetools-sdk-java-api/src/test/java/com/commercetools/PaymentMethodInfoMixinTest.java new file mode 100644 index 00000000000..65e4dee8cbf --- /dev/null +++ b/commercetools/commercetools-sdk-java-api/src/test/java/com/commercetools/PaymentMethodInfoMixinTest.java @@ -0,0 +1,23 @@ + +package com.commercetools; + +import static org.junit.jupiter.api.Assertions.*; + +import com.commercetools.api.models.common.LocalizedString; +import com.commercetools.api.models.payment.PaymentMethodInfo; +import com.commercetools.api.models.payment.PaymentMethodInfoDraft; + +import org.junit.jupiter.api.Test; + +public class PaymentMethodInfoMixinTest { + @Test + public void noCustomFieldTest() { + var paymentMethodInfo = PaymentMethodInfo.builder() + .paymentInterface("interface") + .method("method") + .name(LocalizedString.of()) + .build(); + + assertInstanceOf(PaymentMethodInfoDraft.class, paymentMethodInfo.toDraft()); + } +}