DefaultWorldpayPaymentInfoService implements WorldpayPaymentInfoService { @Override public void setCreditCardType(final CreditCardPaymentInfoModel creditCardPaymentInfoModel, final PaymentReply paymentReply) { updateCreditCardType(creditCardPaymentInfoModel, paymentReply); modelService.save(creditCardPaymentInfoModel); } DefaultWorldpayPaymentInfoService(final ModelService modelService, final EnumerationService enumerationService, final APMConfigurationLookupService apmConfigurationLookupService, final ConfigurationService configurationService, final WorldpayMerchantInfoService worldpayMerchantInfoService); @Override void savePaymentType(final PaymentTransactionModel transactionModel, final String methodCode); @Override void setPaymentInfoModel(final PaymentTransactionModel paymentTransactionModel, final AbstractOrderModel orderModel, final OrderNotificationMessage orderNotificationMessage); @Override void updateAndAttachPaymentInfoModel(final PaymentTransactionModel paymentTransactionModel, final AbstractOrderModel orderModel, final PaymentInfoModel paymentInfoModel); @Override WorldpayAPMPaymentInfoModel createWorldpayApmPaymentInfo(final PaymentTransactionModel paymentTransactionModel); @Override PaymentInfoModel createPaymentInfo(final CartModel cartModel); @Override PaymentInfoModel createPaymentInfoGooglePay(final CartModel cartModel, final GooglePayAdditionalAuthInfo googleAuthInfo); @Override PaymentInfoModel createPaymentInfoApplePay(final CartModel cartModel, final ApplePayAdditionalAuthInfo applePayAdditionalAuthInfo); @Override CreditCardPaymentInfoModel createCreditCardPaymentInfo(final AbstractOrderModel abstractOrderModel, final TokenReply tokenReply, final boolean saveCard, final String merchantId); @Override void setCreditCardType(final CreditCardPaymentInfoModel creditCardPaymentInfoModel, final PaymentReply paymentReply); @Override Optional<CreditCardPaymentInfoModel> updateCreditCardPaymentInfo(final CartModel cartModel, final UpdateTokenServiceRequest updateTokenServiceRequest); @Override void setTransactionIdentifierOnPaymentInfo(final PaymentInfoModel paymentInfoModel, final String transactionIdentifier);  }
@Test public void shouldSetPaymentTypeAsCardWhenCardCannotBeMatchedToAnExistingOne() { when(paymentReplyMock.getMethodCode()).thenReturn(UATP.getMethodCode()); when(configurationServiceMock.getConfiguration().getString(WORLDPAY_CREDIT_CARD_MAPPINGS + UATP.getMethodCode())).thenReturn(""); testObj.setCreditCardType(creditCardPaymentInfoModelMock, paymentReplyMock); verify(creditCardPaymentInfoModelMock).setType(CreditCardType.CARD); }
@Test public void shouldSetPaymentTypeFromTokenReplyInformationWhenPaymentReplyCardCannotBeMapped() { when(paymentReplyMock.getMethodCode()).thenReturn(UATP.getMethodCode()); when(configurationServiceMock.getConfiguration().getString(WORLDPAY_CREDIT_CARD_MAPPINGS + UATP.getMethodCode())).thenReturn(""); testObj.setCreditCardType(creditCardPaymentInfoModelMock, paymentReplyMock); verify(creditCardPaymentInfoModelMock).setType(CreditCardType.CARD); }
@Test public void shouldSetCreditCardTypeOnPaymentInfo() { testObj.setCreditCardType(creditCardPaymentInfoModelMock, paymentReplyMock); verify(creditCardPaymentInfoModelMock).setPaymentType(PaymentType.VISA.getMethodCode()); verify(creditCardPaymentInfoModelMock).setType(CreditCardType.VISA); verify(modelServiceMock).save(creditCardPaymentInfoModelMock); }