FINERACT-1971: Payment type is not mandatory
This commit is contained in:
committed by
Arnold Gálovics
parent
23e00ffec9
commit
8e991e1a36
+5
-13
@@ -233,7 +233,7 @@ public final class LoanEventApiJsonValidator {
|
|||||||
baseDataValidator.reset().parameter(LoanApiConstants.REVERSAL_EXTERNAL_ID_PARAMNAME).ignoreIfNull().value(reversalExternalId)
|
baseDataValidator.reset().parameter(LoanApiConstants.REVERSAL_EXTERNAL_ID_PARAMNAME).ignoreIfNull().value(reversalExternalId)
|
||||||
.notExceedingLengthOf(100);
|
.notExceedingLengthOf(100);
|
||||||
|
|
||||||
validatePaymentDetails(baseDataValidator, element, false);
|
validatePaymentDetails(baseDataValidator, element);
|
||||||
throwExceptionIfValidationWarningsExist(dataValidationErrors);
|
throwExceptionIfValidationWarningsExist(dataValidationErrors);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -263,7 +263,7 @@ public final class LoanEventApiJsonValidator {
|
|||||||
final String note = this.fromApiJsonHelper.extractStringNamed(LoanApiConstants.noteParameterName, element);
|
final String note = this.fromApiJsonHelper.extractStringNamed(LoanApiConstants.noteParameterName, element);
|
||||||
baseDataValidator.reset().parameter(LoanApiConstants.noteParameterName).value(note).notExceedingLengthOf(1000);
|
baseDataValidator.reset().parameter(LoanApiConstants.noteParameterName).value(note).notExceedingLengthOf(1000);
|
||||||
|
|
||||||
validatePaymentDetails(baseDataValidator, element, true);
|
validatePaymentDetails(baseDataValidator, element);
|
||||||
throwExceptionIfValidationWarningsExist(dataValidationErrors);
|
throwExceptionIfValidationWarningsExist(dataValidationErrors);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -313,19 +313,11 @@ public final class LoanEventApiJsonValidator {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void validatePaymentDetails(final DataValidatorBuilder baseDataValidator, final JsonElement element) {
|
private void validatePaymentDetails(final DataValidatorBuilder baseDataValidator, final JsonElement element) {
|
||||||
final boolean paymentDetailRequired = false; // Default value for backward compatibility
|
|
||||||
validatePaymentDetails(baseDataValidator, element, paymentDetailRequired);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void validatePaymentDetails(final DataValidatorBuilder baseDataValidator, final JsonElement element,
|
|
||||||
final boolean paymentDetailRequired) {
|
|
||||||
// Validate all string payment detail fields for max length
|
// Validate all string payment detail fields for max length
|
||||||
final Integer paymentTypeId = this.fromApiJsonHelper.extractIntegerWithLocaleNamed("paymentTypeId", element);
|
final Integer paymentTypeId = this.fromApiJsonHelper.extractIntegerWithLocaleNamed("paymentTypeId", element);
|
||||||
if (paymentDetailRequired) {
|
|
||||||
baseDataValidator.reset().parameter("paymentTypeId").value(paymentTypeId).notNull().integerGreaterThanZero();
|
baseDataValidator.reset().parameter("paymentTypeId").value(paymentTypeId).ignoreIfNull().integerGreaterThanZero();
|
||||||
} else {
|
|
||||||
baseDataValidator.reset().parameter("paymentTypeId").value(paymentTypeId).ignoreIfNull().integerGreaterThanZero();
|
|
||||||
}
|
|
||||||
final Set<String> paymentDetailParameters = new HashSet<>(
|
final Set<String> paymentDetailParameters = new HashSet<>(
|
||||||
Arrays.asList("accountNumber", "checkNumber", "routingCode", "receiptNumber", "bankNumber"));
|
Arrays.asList("accountNumber", "checkNumber", "routingCode", "receiptNumber", "bankNumber"));
|
||||||
for (final String paymentDetailParameterName : paymentDetailParameters) {
|
for (final String paymentDetailParameterName : paymentDetailParameters) {
|
||||||
|
|||||||
+1
-1
@@ -201,7 +201,7 @@ public class LoanChargebackOnPaymentTypeRepaymentTransactionsTest {
|
|||||||
// chargeback on Merchant Issued Refund Transaction
|
// chargeback on Merchant Issued Refund Transaction
|
||||||
chargebackTransactionResponse = loanTransactionHelper.chargebackLoanTransaction(loanExternalIdStr,
|
chargebackTransactionResponse = loanTransactionHelper.chargebackLoanTransaction(loanExternalIdStr,
|
||||||
merchantIssuedRefund_1.getResourceId(),
|
merchantIssuedRefund_1.getResourceId(),
|
||||||
new PostLoansLoanIdTransactionsTransactionIdRequest().locale("en").transactionAmount(100.0).paymentTypeId(1L));
|
new PostLoansLoanIdTransactionsTransactionIdRequest().locale("en").transactionAmount(100.0));
|
||||||
|
|
||||||
// verify transaction relation and outstanding balance
|
// verify transaction relation and outstanding balance
|
||||||
assertNotNull(chargebackTransactionResponse);
|
assertNotNull(chargebackTransactionResponse);
|
||||||
|
|||||||
Reference in New Issue
Block a user