Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -913,6 +913,14 @@ public CommandWrapperBuilder creditBalanceRefundWorkingCapitalLoanTransaction(fi
return this;
}

public CommandWrapperBuilder updatePeriodPaymentRateWorkingCapitalLoanApplication(final Long loanId) {
this.actionName = "UPDATERATE";
this.entityName = "WORKINGCAPITALLOAN";
this.entityId = loanId;
this.href = "/workingcapitalloans/" + loanId;
return this;
}

public CommandWrapperBuilder createClientIdentifier(final Long clientId) {
this.actionName = ACTION_CREATE;
this.entityName = ENTITY_CLIENTIDENTIFIER;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,8 @@ public enum DefaultWorkingCapitalLoanProduct implements WorkingCapitalLoanProduc
WCLP_BREACH, //
WCLP_BREACH_NEAR_BREACH, //
WCLP_BREACH_DISALLOW_ATTRIBUTES_OVERRIDE, //
WCLP_BREACH_NEAR_BREACH_DISALLOW_ATTRIBUTES_OVERRIDE; //
WCLP_BREACH_NEAR_BREACH_DISALLOW_ATTRIBUTES_OVERRIDE, //
WCLP_PERIOD_PAYMENT_RATE; //

@Override
public String getName() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
import org.apache.fineract.client.models.PostWorkingCapitalLoansLoanIdRequest;
import org.apache.fineract.client.models.PostWorkingCapitalLoansRequest;
import org.apache.fineract.client.models.PutWorkingCapitalLoansLoanIdDiscountRequest;
import org.apache.fineract.client.models.PutWorkingCapitalLoansLoanIdRateRequest;
import org.apache.fineract.client.models.PutWorkingCapitalLoansLoanIdRequest;
import org.apache.fineract.test.data.workingcapitalproduct.DefaultWorkingCapitalLoanProduct;
import org.apache.fineract.test.data.workingcapitalproduct.WorkingCapitalLoanProductResolver;
Expand All @@ -45,6 +46,7 @@ public class WorkingCapitalLoanRequestFactory {
public static final BigDecimal DEFAULT_TOTAL_PAYMENT = new BigDecimal(100);
public static final BigDecimal DEFAULT_PERIOD_PAYMENT_RATE = new BigDecimal(1);
public static final BigDecimal DEFAULT_DISCOUNT_ZERO = BigDecimal.ZERO;
public static final BigDecimal DEFAULT_PAYMENT_RATE = new BigDecimal(15);

public static final DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern(DATE_FORMAT);
public static final String DATE_SUBMIT_STRING = FORMATTER.format(Utils.now().minusMonths(1L));
Expand Down Expand Up @@ -121,4 +123,10 @@ public PutWorkingCapitalLoansLoanIdDiscountRequest defaultWorkingCapitalLoanUpda
.dateFormat(DATE_FORMAT)//
.locale(DEFAULT_LOCALE);//
}

public PutWorkingCapitalLoansLoanIdRateRequest defaultWorkingCapitalLoanUpdateRateRequest() {
return new PutWorkingCapitalLoansLoanIdRateRequest() //
.periodPaymentRate(DEFAULT_PAYMENT_RATE) //
.locale(DEFAULT_LOCALE); //
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -1117,4 +1117,8 @@ public static String nearBreachMustBeLowerThenBreachFailure() {
public static String nearBreachIdNotFoundFailure(long nearBreachId) {
return String.format("Working Capital Near Breach with id %s was not found.", nearBreachId);
}

public static String periodPaymentRateOnNonActiveLoanFailure() {
return "Period payment rate change is allowed only for active loans";
}
}

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -332,6 +332,7 @@ public abstract class TestContextKey {
public static final String DEFAULT_WORKING_CAPITAL_LOAN_PRODUCT_CREATE_RESPONSE_WCLP_BREACH_NEAR_BREACH = "workingCapitalLoanProductCreateResponseWCLPBreachNearBreach";
public static final String DEFAULT_WORKING_CAPITAL_LOAN_PRODUCT_CREATE_RESPONSE_WCLP_BREACH_DISALLOW_OVERRIDES = "workingCapitalLoanProductCreateResponseWCLPBreachDisallowOverrides";
public static final String DEFAULT_WORKING_CAPITAL_LOAN_PRODUCT_CREATE_RESPONSE_WCLP_BREACH_NEAR_BREACH_DISALLOW_OVERRIDES = "workingCapitalLoanProductCreateResponseWCLPBreachNearBreachDisallowOverrides";
public static final String DEFAULT_WORKING_CAPITAL_LOAN_PRODUCT_CREATE_RESPONSE_WCLP_PERIOD_PAYMENT_RATE = "workingCapitalLoanProductCreateResponseWCLPPeriodPaymentRate";
public static final String WC_LOAN_IDS = "wcLoanIds";
public static final String DEFAULT_WORKING_CAPITAL_LOAN_PRODUCT_CREATE_REQUEST_FOR_UPDATE_WCLP = "workingCapitalLoanProductCreateRequestForUpdateWCLP";
public static final String DEFAULT_WORKING_CAPITAL_LOAN_PRODUCT_CREATE_RESPONSE_FOR_UPDATE_WCLP = "workingCapitalLoanProductCreateResponseForUpdateWCLP";
Expand Down Expand Up @@ -359,4 +360,5 @@ public abstract class TestContextKey {
public static final String WORKING_CAPITAL_NEAR_BREACH_ID_FOR_UPDATE = "workingCapitalNearBreachIdForUpdate";
public static final String WORKING_CAPITAL_NEAR_BREACH_CREATE_REQUEST_FOR_UPDATE = "workingCapitalNearBreachCreateRequestForUpdate";
public static final String WC_LOAN_ACTION_TEMPLATE_RESPONSE = "wcLoanActionTemplateResponse";
public static final String WORKING_CAPITAL_LOAN_RATE_CHANGE_ID = "wcLoanRateChangeId";
}
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,19 @@ public void initialize() throws Exception {
TestContext.INSTANCE.set(
TestContextKey.DEFAULT_WORKING_CAPITAL_LOAN_PRODUCT_CREATE_RESPONSE_WCLP_BREACH_NEAR_BREACH_DISALLOW_OVERRIDES,
responseDefaultWCPLBreachNearBreachDisallowOverrides);

final String workingCapitalProductPeriodPaymentRateDefaultName = DefaultWorkingCapitalLoanProduct.WCLP_PERIOD_PAYMENT_RATE
.getName();
final PostWorkingCapitalLoanProductsRequest defaultWCPLPeriodPaymentRateRequest = workingCapitalRequestFactory
.defaultWorkingCapitalLoanProductAllowAttributesOverrideRequest() //
.minPeriodPaymentRate(new BigDecimal(1)) //
.maxPeriodPaymentRate(new BigDecimal(95)) //
.periodPaymentRate(new BigDecimal(10)) //
.name(workingCapitalProductPeriodPaymentRateDefaultName);//
final PostWorkingCapitalLoanProductsResponse responseDefaultWCPLPeriodPaymentRate = createWorkingCapitalLoanProductIdempotent(
defaultWCPLPeriodPaymentRateRequest);
TestContext.INSTANCE.set(TestContextKey.DEFAULT_WORKING_CAPITAL_LOAN_PRODUCT_CREATE_RESPONSE_WCLP_PERIOD_PAYMENT_RATE,
responseDefaultWCPLPeriodPaymentRate);
}

private PostWorkingCapitalLoanProductsResponse createWorkingCapitalLoanProductIdempotent(
Expand Down
Loading
Loading