FINERACT-2070: COB business step order
This commit is contained in:
+3
@@ -39,6 +39,9 @@ public class FineractProperties {
|
||||
private String idempotencyKeyHeaderName;
|
||||
|
||||
private Boolean insecureHttpClient;
|
||||
private long clientConnectTimeout;
|
||||
private long clientReadTimeout;
|
||||
private long clientWriteTimeout;
|
||||
|
||||
private FineractTenantProperties tenant;
|
||||
|
||||
|
||||
@@ -36,4 +36,6 @@ public class ApiProperties {
|
||||
private String strongPassword;
|
||||
@Value("${fineract-test.api.tenant-id}")
|
||||
private String tenantId;
|
||||
@Value("${fineract-test.client-read-timeout}")
|
||||
private long readTimeout;
|
||||
}
|
||||
|
||||
+4
-4
@@ -18,6 +18,7 @@
|
||||
*/
|
||||
package org.apache.fineract.test.api;
|
||||
|
||||
import java.time.Duration;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.fineract.client.util.FineractClient;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -37,11 +38,10 @@ public class FineractClientConfiguration {
|
||||
String username = apiProperties.getUsername();
|
||||
String password = apiProperties.getPassword();
|
||||
String tenantId = apiProperties.getTenantId();
|
||||
|
||||
long readTimeout = apiProperties.getReadTimeout();
|
||||
String apiBaseUrl = baseUrl + "/fineract-provider/api/";
|
||||
|
||||
log.info("Using base URL '{}'", apiBaseUrl);
|
||||
|
||||
return FineractClient.builder().basicAuth(username, password).tenant(tenantId).baseURL(apiBaseUrl).insecure(true).build();
|
||||
return FineractClient.builder().readTimeout(Duration.ofSeconds(readTimeout)).basicAuth(username, password).tenant(tenantId)
|
||||
.baseURL(apiBaseUrl).insecure(true).build();
|
||||
}
|
||||
}
|
||||
|
||||
+36
-8
@@ -21,29 +21,57 @@ package org.apache.fineract.test.helper;
|
||||
import java.io.IOException;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.fineract.client.models.BusinessStep;
|
||||
import org.apache.fineract.client.models.GetBusinessStepConfigResponse;
|
||||
import org.apache.fineract.client.models.UpdateBusinessStepConfigRequest;
|
||||
import org.apache.fineract.client.services.BusinessStepConfigurationApi;
|
||||
import org.apache.fineract.test.support.TestContext;
|
||||
import org.apache.fineract.test.support.TestContextKey;
|
||||
import org.springframework.stereotype.Component;
|
||||
import retrofit2.Response;
|
||||
|
||||
@RequiredArgsConstructor
|
||||
@Component
|
||||
@Slf4j
|
||||
public class WorkFlowJobHelper {
|
||||
|
||||
private static final String WORKFLOW_NAME_LOAN_CLOSE_OF_BUSINESS = "LOAN_CLOSE_OF_BUSINESS";
|
||||
|
||||
private final BusinessStepConfigurationApi businessStepConfigurationApi;
|
||||
|
||||
public void saveOriginalCOBWorkflowJobBusinessStepList() throws IOException {
|
||||
Response<GetBusinessStepConfigResponse> businessStepConfigResponse = businessStepConfigurationApi
|
||||
public void setWorkflowJobs() throws IOException {
|
||||
List<BusinessStep> businessSteps = List.of(new BusinessStep().stepName("APPLY_CHARGE_TO_OVERDUE_LOANS").order(1L), //
|
||||
new BusinessStep().stepName("LOAN_DELINQUENCY_CLASSIFICATION").order(2L), //
|
||||
new BusinessStep().stepName("CHECK_LOAN_REPAYMENT_DUE").order(3L), //
|
||||
new BusinessStep().stepName("CHECK_LOAN_REPAYMENT_OVERDUE").order(4L), //
|
||||
new BusinessStep().stepName("CHECK_DUE_INSTALLMENTS").order(5L), //
|
||||
new BusinessStep().stepName("UPDATE_LOAN_ARREARS_AGING").order(6L), //
|
||||
new BusinessStep().stepName("ADD_PERIODIC_ACCRUAL_ENTRIES").order(7L), //
|
||||
new BusinessStep().stepName("ACCRUAL_ACTIVITY_POSTING").order(8L), //
|
||||
new BusinessStep().stepName("LOAN_INTEREST_RECALCULATION").order(9L), //
|
||||
new BusinessStep().stepName("EXTERNAL_ASSET_OWNER_TRANSFER").order(10L)//
|
||||
);
|
||||
UpdateBusinessStepConfigRequest request = new UpdateBusinessStepConfigRequest().businessSteps(businessSteps);
|
||||
Response<Void> response = businessStepConfigurationApi.updateJobBusinessStepConfig(WORKFLOW_NAME_LOAN_CLOSE_OF_BUSINESS, request)
|
||||
.execute();
|
||||
ErrorHelper.checkSuccessfulApiCall(response);
|
||||
// --- log changes ---
|
||||
logChanges();
|
||||
}
|
||||
|
||||
private void logChanges() throws IOException {
|
||||
// --- log changes ---
|
||||
Response<GetBusinessStepConfigResponse> changesResponse = businessStepConfigurationApi
|
||||
.retrieveAllConfiguredBusinessStep(WORKFLOW_NAME_LOAN_CLOSE_OF_BUSINESS).execute();
|
||||
ErrorHelper.checkSuccessfulApiCall(businessStepConfigResponse);
|
||||
List<BusinessStep> businessSteps = businessStepConfigResponse.body().getBusinessSteps();
|
||||
businessSteps.sort(Comparator.comparingLong(BusinessStep::getOrder));
|
||||
TestContext.GLOBAL.set(TestContextKey.ORIGINAL_COB_WORKFLOW_JOB_BUSINESS_STEP_LIST, businessSteps);
|
||||
List<BusinessStep> businessStepsChanged = changesResponse.body().getBusinessSteps();
|
||||
List<String> changes = businessStepsChanged//
|
||||
.stream()//
|
||||
.sorted(Comparator.comparingLong(BusinessStep::getOrder))//
|
||||
.map(BusinessStep::getStepName)//
|
||||
.collect(Collectors.toList());//
|
||||
|
||||
log.debug("Business steps has been CHANGED to the following:");
|
||||
changes.forEach(e -> log.debug(e));
|
||||
}
|
||||
}
|
||||
|
||||
+2
-4
@@ -21,7 +21,6 @@ package org.apache.fineract.test.initializer.base;
|
||||
import java.util.List;
|
||||
import org.apache.fineract.test.config.CacheConfiguration;
|
||||
import org.apache.fineract.test.helper.BusinessDateHelper;
|
||||
import org.apache.fineract.test.helper.WorkFlowJobHelper;
|
||||
import org.apache.fineract.test.initializer.global.FineractGlobalInitializerStep;
|
||||
import org.apache.fineract.test.initializer.scenario.FineractScenarioInitializerStep;
|
||||
import org.apache.fineract.test.initializer.suite.FineractSuiteInitializerStep;
|
||||
@@ -40,8 +39,7 @@ public class BaseFineractInitializerConfiguration {
|
||||
@Bean
|
||||
public FineractInitializer fineractInitializer(List<FineractGlobalInitializerStep> globalInitializerSteps,
|
||||
List<FineractSuiteInitializerStep> suiteInitializerSteps, List<FineractScenarioInitializerStep> scenarioInitializerSteps,
|
||||
BusinessDateHelper businessDateHelper, WorkFlowJobHelper workFlowJobHelper) {
|
||||
return new FineractInitializer(globalInitializerSteps, suiteInitializerSteps, scenarioInitializerSteps, businessDateHelper,
|
||||
workFlowJobHelper);
|
||||
BusinessDateHelper businessDateHelper) {
|
||||
return new FineractInitializer(globalInitializerSteps, suiteInitializerSteps, scenarioInitializerSteps, businessDateHelper);
|
||||
}
|
||||
}
|
||||
|
||||
-7
@@ -23,7 +23,6 @@ import java.util.stream.Collectors;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.fineract.test.helper.BusinessDateHelper;
|
||||
import org.apache.fineract.test.helper.WorkFlowJobHelper;
|
||||
import org.apache.fineract.test.initializer.global.FineractGlobalInitializerStep;
|
||||
import org.apache.fineract.test.initializer.scenario.FineractScenarioInitializerStep;
|
||||
import org.apache.fineract.test.initializer.suite.FineractSuiteInitializerStep;
|
||||
@@ -39,7 +38,6 @@ public class FineractInitializer implements InitializingBean {
|
||||
private final List<FineractSuiteInitializerStep> suiteInitializerSteps;
|
||||
private final List<FineractScenarioInitializerStep> scenarioInitializerSteps;
|
||||
private final BusinessDateHelper businessDateHelper;
|
||||
private final WorkFlowJobHelper workFlowJobHelper;
|
||||
|
||||
@Override
|
||||
public void afterPropertiesSet() throws Exception {
|
||||
@@ -63,7 +61,6 @@ public class FineractInitializer implements InitializingBean {
|
||||
for (FineractGlobalInitializerStep initializerStep : globalInitializerSteps) {
|
||||
initializerStep.initialize();
|
||||
}
|
||||
|
||||
businessDateHelper.setBusinessDateToday();
|
||||
}
|
||||
|
||||
@@ -71,16 +68,13 @@ public class FineractInitializer implements InitializingBean {
|
||||
for (FineractSuiteInitializerStep initializerStep : suiteInitializerSteps) {
|
||||
initializerStep.initializeForSuite();
|
||||
}
|
||||
|
||||
businessDateHelper.setBusinessDateToday();
|
||||
workFlowJobHelper.saveOriginalCOBWorkflowJobBusinessStepList();
|
||||
}
|
||||
|
||||
public void setupDefaultsForScenario() throws Exception {
|
||||
for (FineractScenarioInitializerStep scenarioInitializerStep : scenarioInitializerSteps) {
|
||||
scenarioInitializerStep.initializeForScenario();
|
||||
}
|
||||
|
||||
businessDateHelper.setBusinessDateToday();
|
||||
}
|
||||
|
||||
@@ -88,7 +82,6 @@ public class FineractInitializer implements InitializingBean {
|
||||
for (FineractSuiteInitializerStep initializerStep : suiteInitializerSteps) {
|
||||
initializerStep.resetAfterSuite();
|
||||
}
|
||||
|
||||
businessDateHelper.setBusinessDateToday();
|
||||
}
|
||||
}
|
||||
|
||||
+3
-27
@@ -18,42 +18,18 @@
|
||||
*/
|
||||
package org.apache.fineract.test.initializer.global;
|
||||
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.apache.fineract.client.models.BusinessStep;
|
||||
import org.apache.fineract.client.models.GetBusinessStepConfigResponse;
|
||||
import org.apache.fineract.client.models.UpdateBusinessStepConfigRequest;
|
||||
import org.apache.fineract.client.services.BusinessStepConfigurationApi;
|
||||
import org.apache.fineract.test.helper.ErrorHelper;
|
||||
import org.apache.fineract.test.helper.WorkFlowJobHelper;
|
||||
import org.springframework.stereotype.Component;
|
||||
import retrofit2.Response;
|
||||
|
||||
@RequiredArgsConstructor
|
||||
@Component
|
||||
public class CobBusinessStepInitializerStep implements FineractGlobalInitializerStep {
|
||||
|
||||
private static final String WORKFLOW_NAME_LOAN_CLOSE_OF_BUSINESS = "LOAN_CLOSE_OF_BUSINESS";
|
||||
private static final String BUSINESS_STEP_NAME_ACCRUAL_ACTIVITY_POSTING = "ACCRUAL_ACTIVITY_POSTING";
|
||||
private final BusinessStepConfigurationApi businessStepConfigurationApi;
|
||||
private final WorkFlowJobHelper workFlowJobHelper;
|
||||
|
||||
@Override
|
||||
public void initialize() throws Exception {
|
||||
// --- Adding ACCRUAL_ACTIVITY_POSTING to default COB steps ---
|
||||
Response<GetBusinessStepConfigResponse> businessStepConfigResponse = businessStepConfigurationApi
|
||||
.retrieveAllConfiguredBusinessStep(WORKFLOW_NAME_LOAN_CLOSE_OF_BUSINESS).execute();
|
||||
ErrorHelper.checkSuccessfulApiCall(businessStepConfigResponse);
|
||||
List<BusinessStep> businessSteps = businessStepConfigResponse.body().getBusinessSteps();
|
||||
businessSteps.sort(Comparator.comparingLong(BusinessStep::getOrder));
|
||||
Long lastOrder = businessSteps.get(businessSteps.size() - 1).getOrder();
|
||||
|
||||
BusinessStep accrualActivityPosting = new BusinessStep().stepName(BUSINESS_STEP_NAME_ACCRUAL_ACTIVITY_POSTING).order(lastOrder + 1);
|
||||
businessSteps.add(accrualActivityPosting);
|
||||
|
||||
UpdateBusinessStepConfigRequest request = new UpdateBusinessStepConfigRequest().businessSteps(businessSteps);
|
||||
|
||||
Response<Void> response = businessStepConfigurationApi.updateJobBusinessStepConfig(WORKFLOW_NAME_LOAN_CLOSE_OF_BUSINESS, request)
|
||||
.execute();
|
||||
ErrorHelper.checkSuccessfulApiCall(response);
|
||||
workFlowJobHelper.setWorkflowJobs();
|
||||
}
|
||||
}
|
||||
|
||||
-178
@@ -1,178 +0,0 @@
|
||||
/**
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.apache.fineract.test.stepdef.common;
|
||||
|
||||
import io.cucumber.java.en.Given;
|
||||
import io.cucumber.java.en.Then;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.fineract.client.models.BusinessStep;
|
||||
import org.apache.fineract.client.models.GetBusinessStepConfigResponse;
|
||||
import org.apache.fineract.client.models.UpdateBusinessStepConfigRequest;
|
||||
import org.apache.fineract.client.services.BusinessStepConfigurationApi;
|
||||
import org.apache.fineract.test.data.CobBusinessStep;
|
||||
import org.apache.fineract.test.helper.ErrorHelper;
|
||||
import org.apache.fineract.test.stepdef.AbstractStepDef;
|
||||
import org.apache.fineract.test.support.TestContext;
|
||||
import org.apache.fineract.test.support.TestContextKey;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import retrofit2.Response;
|
||||
|
||||
@Slf4j
|
||||
public class BusinessStepStepDef extends AbstractStepDef {
|
||||
|
||||
private static final String WORKFLOW_NAME_LOAN_CLOSE_OF_BUSINESS = "LOAN_CLOSE_OF_BUSINESS";
|
||||
private static final String BUSINESS_STEP_NAME_APPLY_CHARGE_TO_OVERDUE_LOANS = "APPLY_CHARGE_TO_OVERDUE_LOANS";
|
||||
private static final String BUSINESS_STEP_NAME_LOAN_DELINQUENCY_CLASSIFICATION = "LOAN_DELINQUENCY_CLASSIFICATION";
|
||||
private static final String BUSINESS_STEP_NAME_CHECK_LOAN_REPAYMENT_DUE = "CHECK_LOAN_REPAYMENT_DUE";
|
||||
private static final String BUSINESS_STEP_NAME_CHECK_LOAN_REPAYMENT_OVERDUE = "CHECK_LOAN_REPAYMENT_OVERDUE";
|
||||
private static final String BUSINESS_STEP_NAME_UPDATE_LOAN_ARREARS_AGING = "UPDATE_LOAN_ARREARS_AGING";
|
||||
private static final String BUSINESS_STEP_NAME_ADD_PERIODIC_ACCRUAL_ENTRIES = "ADD_PERIODIC_ACCRUAL_ENTRIES";
|
||||
private static final String BUSINESS_STEP_NAME_EXTERNAL_ASSET_OWNER_TRANSFER = "EXTERNAL_ASSET_OWNER_TRANSFER";
|
||||
private static final String BUSINESS_STEP_NAME_CHECK_DUE_INSTALLMENTS = "CHECK_DUE_INSTALLMENTS";
|
||||
private static final String BUSINESS_STEP_NAME_ACCRUAL_ACTIVITY_POSTING = "ACCRUAL_ACTIVITY_POSTING";
|
||||
private static final List<BusinessStep> ORIGINAL_COB_BUSINESS_STEPS = TestContext.GLOBAL
|
||||
.get(TestContextKey.ORIGINAL_COB_WORKFLOW_JOB_BUSINESS_STEP_LIST);
|
||||
|
||||
@Autowired
|
||||
private BusinessStepConfigurationApi businessStepConfigurationApi;
|
||||
|
||||
@Given("Admin puts EXTERNAL_ASSET_OWNER_TRANSFER job into LOAN_CLOSE_OF_BUSINESS workflow")
|
||||
public void putExternalAssetOwnerTransferJobInCOB() throws IOException {
|
||||
List<BusinessStep> businessSteps = new ArrayList<>(ORIGINAL_COB_BUSINESS_STEPS);
|
||||
Long lastOrder = businessSteps.get(businessSteps.size() - 1).getOrder();
|
||||
|
||||
BusinessStep externalAssetOwnerTransfer = new BusinessStep().stepName(BUSINESS_STEP_NAME_EXTERNAL_ASSET_OWNER_TRANSFER)
|
||||
.order(lastOrder + 1);
|
||||
businessSteps.add(externalAssetOwnerTransfer);
|
||||
|
||||
UpdateBusinessStepConfigRequest request = new UpdateBusinessStepConfigRequest().businessSteps(businessSteps);
|
||||
|
||||
Response<Void> response = businessStepConfigurationApi.updateJobBusinessStepConfig(WORKFLOW_NAME_LOAN_CLOSE_OF_BUSINESS, request)
|
||||
.execute();
|
||||
ErrorHelper.checkSuccessfulApiCall(response);
|
||||
|
||||
// --- log changes ---
|
||||
logChanges();
|
||||
}
|
||||
|
||||
@Then("Admin removes EXTERNAL_ASSET_OWNER_TRANSFER job from LOAN_CLOSE_OF_BUSINESS workflow")
|
||||
public void removeExternalAssetOwnerTransferJobInCOB() throws IOException {
|
||||
setBackBusinessStepsToOriginal();
|
||||
}
|
||||
|
||||
@Given("Admin puts CHECK_DUE_INSTALLMENTS job into LOAN_CLOSE_OF_BUSINESS workflow")
|
||||
public void putCheckDueInstallmentsJobInCOB() throws IOException {
|
||||
List<BusinessStep> businessSteps = new ArrayList<>(ORIGINAL_COB_BUSINESS_STEPS);
|
||||
Long lastOrder = businessSteps.get(businessSteps.size() - 1).getOrder();
|
||||
|
||||
BusinessStep checkDueInstallments = new BusinessStep().stepName(BUSINESS_STEP_NAME_CHECK_DUE_INSTALLMENTS).order(lastOrder + 1);
|
||||
businessSteps.add(checkDueInstallments);
|
||||
|
||||
UpdateBusinessStepConfigRequest request = new UpdateBusinessStepConfigRequest().businessSteps(businessSteps);
|
||||
|
||||
Response<Void> response = businessStepConfigurationApi.updateJobBusinessStepConfig(WORKFLOW_NAME_LOAN_CLOSE_OF_BUSINESS, request)
|
||||
.execute();
|
||||
ErrorHelper.checkSuccessfulApiCall(response);
|
||||
|
||||
// --- log changes ---
|
||||
logChanges();
|
||||
}
|
||||
|
||||
@Then("Admin removes CHECK_DUE_INSTALLMENTS job from LOAN_CLOSE_OF_BUSINESS workflow")
|
||||
public void removeCheckDueInstallmentsJobInCOB() throws IOException {
|
||||
setBackBusinessStepsToOriginal();
|
||||
}
|
||||
|
||||
@Given("Admin puts {string} business step into LOAN_CLOSE_OF_BUSINESS workflow")
|
||||
public void putGivenJobInCOB(String businessStepName) throws IOException {
|
||||
List<BusinessStep> businessSteps = new ArrayList<>(ORIGINAL_COB_BUSINESS_STEPS);
|
||||
Long lastOrder = businessSteps.get(businessSteps.size() - 1).getOrder();
|
||||
|
||||
CobBusinessStep cobBusinessStep = CobBusinessStep.valueOf(businessStepName);
|
||||
String stepName = cobBusinessStep.getValue();
|
||||
|
||||
BusinessStep businessStepToAdd = new BusinessStep().stepName(stepName).order(lastOrder + 1);
|
||||
businessSteps.add(businessStepToAdd);
|
||||
|
||||
UpdateBusinessStepConfigRequest request = new UpdateBusinessStepConfigRequest().businessSteps(businessSteps);
|
||||
|
||||
Response<Void> response = businessStepConfigurationApi.updateJobBusinessStepConfig(WORKFLOW_NAME_LOAN_CLOSE_OF_BUSINESS, request)
|
||||
.execute();
|
||||
ErrorHelper.checkSuccessfulApiCall(response);
|
||||
|
||||
// --- log changes ---
|
||||
logChanges();
|
||||
}
|
||||
|
||||
@Then("Admin sets back LOAN_CLOSE_OF_BUSINESS workflow to its initial state")
|
||||
public void setBackCOBToInitialState() throws IOException {
|
||||
setBackBusinessStepsToOriginal();
|
||||
}
|
||||
|
||||
@Then("Admin removes {string} business step into LOAN_CLOSE_OF_BUSINESS workflow")
|
||||
public void removeGivenJobInCOB(String businessStepName) throws IOException {
|
||||
List<BusinessStep> businessSteps = new ArrayList<>(ORIGINAL_COB_BUSINESS_STEPS);
|
||||
|
||||
CobBusinessStep cobBusinessStep = CobBusinessStep.valueOf(businessStepName);
|
||||
String stepName = cobBusinessStep.getValue();
|
||||
|
||||
businessSteps.removeIf(businessStep -> businessStep.getStepName().equals(stepName));
|
||||
|
||||
UpdateBusinessStepConfigRequest request = new UpdateBusinessStepConfigRequest().businessSteps(businessSteps);
|
||||
|
||||
Response<Void> response = businessStepConfigurationApi.updateJobBusinessStepConfig(WORKFLOW_NAME_LOAN_CLOSE_OF_BUSINESS, request)
|
||||
.execute();
|
||||
ErrorHelper.checkSuccessfulApiCall(response);
|
||||
|
||||
// --- log changes ---
|
||||
logChanges();
|
||||
}
|
||||
|
||||
private void setBackBusinessStepsToOriginal() throws IOException {
|
||||
log.debug("Setting back Business steps to original...");
|
||||
UpdateBusinessStepConfigRequest request = new UpdateBusinessStepConfigRequest().businessSteps(ORIGINAL_COB_BUSINESS_STEPS);
|
||||
|
||||
Response<Void> response = businessStepConfigurationApi.updateJobBusinessStepConfig(WORKFLOW_NAME_LOAN_CLOSE_OF_BUSINESS, request)
|
||||
.execute();
|
||||
ErrorHelper.checkSuccessfulApiCall(response);
|
||||
|
||||
// --- log changes ---
|
||||
logChanges();
|
||||
}
|
||||
|
||||
private void logChanges() throws IOException {
|
||||
// --- log changes ---
|
||||
Response<GetBusinessStepConfigResponse> changesResponse = businessStepConfigurationApi
|
||||
.retrieveAllConfiguredBusinessStep(WORKFLOW_NAME_LOAN_CLOSE_OF_BUSINESS).execute();
|
||||
List<BusinessStep> businessStepsChanged = changesResponse.body().getBusinessSteps();
|
||||
List<String> changes = businessStepsChanged//
|
||||
.stream()//
|
||||
.sorted(Comparator.comparingLong(BusinessStep::getOrder))//
|
||||
.map(BusinessStep::getStepName)//
|
||||
.collect(Collectors.toList());//
|
||||
|
||||
log.debug("Business steps has been CHANGED to the following:");
|
||||
changes.forEach(e -> log.debug(e));
|
||||
}
|
||||
}
|
||||
-1
@@ -24,7 +24,6 @@ import lombok.NoArgsConstructor;
|
||||
@NoArgsConstructor(access = AccessLevel.PRIVATE)
|
||||
public abstract class TestContextKey {
|
||||
|
||||
public static final String ORIGINAL_COB_WORKFLOW_JOB_BUSINESS_STEP_LIST = "originalCOBWorkflowJobBusinessStepList";
|
||||
public static final String CLIENT_CREATE_RESPONSE = "clientCreateResponse";
|
||||
public static final String CLIENT_CREATE_SECOND_CLIENT_RESPONSE = "clientCreateSecondClientResponse";
|
||||
public static final String LOAN_CREATE_RESPONSE = "loanCreateResponse";
|
||||
|
||||
@@ -38,3 +38,5 @@ fineract-test.messaging.jms.topic-name=${ACTIVEMQ_TOPIC_NAME:}
|
||||
|
||||
fineract-test.event.wait-timeout-in-sec=${EVENT_WAIT_TIMEOUT_IN_SEC:5}
|
||||
fineract-test.event.verification-enabled=${EVENT_VERIFICATION_ENABLED:false}
|
||||
|
||||
fineract-test.client-read-timeout=${CLIENT_READ_TIMEOUT:60}
|
||||
|
||||
@@ -216,7 +216,6 @@ Feature: COBFeature
|
||||
|
||||
@TestRailId:C3044 @AdvancedPaymentAllocation
|
||||
Scenario: Verify that LoanAccountCustomSnapshotBusinessEvent is created with proper business date when installment is due date and COB runs
|
||||
Given Admin puts CHECK_DUE_INSTALLMENTS job into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "01 January 2024"
|
||||
When Admin creates a client with random data
|
||||
When Admin set "LP2_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule
|
||||
@@ -228,6 +227,5 @@ Feature: COBFeature
|
||||
When Admin sets the business date to "17 January 2024"
|
||||
When Admin runs inline COB job for Loan
|
||||
Then LoanAccountCustomSnapshotBusinessEvent is created with business date "17 January 2024"
|
||||
Then Admin removes CHECK_DUE_INSTALLMENTS job from LOAN_CLOSE_OF_BUSINESS workflow
|
||||
|
||||
|
||||
|
||||
@@ -3,7 +3,6 @@ Feature: Asset Externalization
|
||||
|
||||
@TestRailId:C2722
|
||||
Scenario: Verify that all fields and values are correct in case of a SALES request by loan id and user-generated transferExternalId
|
||||
Given Admin puts EXTERNAL_ASSET_OWNER_TRANSFER job into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "1 May 2023"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a new default Loan with date: "1 May 2023"
|
||||
@@ -24,11 +23,9 @@ Feature: Asset Externalization
|
||||
| settlementDate | purchasePriceRatio | status | effectiveFrom | effectiveTo | Transaction type |
|
||||
| 2023-05-21 | 1 | PENDING | 2023-05-01 | 9999-12-31 | SALE |
|
||||
Then Asset externalization details has the generated transferExternalId
|
||||
Then Admin removes EXTERNAL_ASSET_OWNER_TRANSFER job from LOAN_CLOSE_OF_BUSINESS workflow
|
||||
|
||||
@TestRailId:C2723
|
||||
Scenario: Verify that all fields and values are correct in case of a SALES request by loan id system-generated transferExternalId
|
||||
Given Admin puts EXTERNAL_ASSET_OWNER_TRANSFER job into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "1 May 2023"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a new default Loan with date: "1 May 2023"
|
||||
@@ -49,11 +46,9 @@ Feature: Asset Externalization
|
||||
| settlementDate | purchasePriceRatio | status | effectiveFrom | effectiveTo | Transaction type |
|
||||
| 2023-05-21 | 1 | PENDING | 2023-05-01 | 9999-12-31 | SALE |
|
||||
Then Asset externalization details has the generated transferExternalId
|
||||
Then Admin removes EXTERNAL_ASSET_OWNER_TRANSFER job from LOAN_CLOSE_OF_BUSINESS workflow
|
||||
|
||||
@TestRailId:C2724
|
||||
Scenario: Verify that all fields and values are correct in case of a SALES request by loan external id user-generated transferExternalId
|
||||
Given Admin puts EXTERNAL_ASSET_OWNER_TRANSFER job into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "1 May 2023"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a new default Loan with date: "1 May 2023"
|
||||
@@ -74,11 +69,9 @@ Feature: Asset Externalization
|
||||
| settlementDate | purchasePriceRatio | status | effectiveFrom | effectiveTo | Transaction type |
|
||||
| 2023-05-21 | 1 | PENDING | 2023-05-01 | 9999-12-31 | SALE |
|
||||
Then Asset externalization details has the generated transferExternalId
|
||||
Then Admin removes EXTERNAL_ASSET_OWNER_TRANSFER job from LOAN_CLOSE_OF_BUSINESS workflow
|
||||
|
||||
@TestRailId:C2725
|
||||
Scenario: Verify that all fields and values are correct in case of a SALES request by loan external id system-generated transferExternalId
|
||||
Given Admin puts EXTERNAL_ASSET_OWNER_TRANSFER job into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "1 May 2023"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a new default Loan with date: "1 May 2023"
|
||||
@@ -99,11 +92,9 @@ Feature: Asset Externalization
|
||||
| settlementDate | purchasePriceRatio | status | effectiveFrom | effectiveTo | Transaction type |
|
||||
| 2023-05-21 | 1 | PENDING | 2023-05-01 | 9999-12-31 | SALE |
|
||||
Then Asset externalization details has the generated transferExternalId
|
||||
Then Admin removes EXTERNAL_ASSET_OWNER_TRANSFER job from LOAN_CLOSE_OF_BUSINESS workflow
|
||||
|
||||
@TestRailId:C2727
|
||||
Scenario: Verify that Asset externalization details are correct after CoB in case of a SALES request by loan id
|
||||
Given Admin puts EXTERNAL_ASSET_OWNER_TRANSFER job into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "1 May 2023"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a new default Loan with date: "1 May 2023"
|
||||
@@ -123,11 +114,9 @@ Feature: Asset Externalization
|
||||
| settlementDate | purchasePriceRatio | status | effectiveFrom | effectiveTo | Transaction type |
|
||||
| 2023-05-21 | 1 | PENDING | 2023-05-01 | 2023-05-21 | SALE |
|
||||
| 2023-05-21 | 1 | ACTIVE | 2023-05-22 | 9999-12-31 | SALE |
|
||||
Then Admin removes EXTERNAL_ASSET_OWNER_TRANSFER job from LOAN_CLOSE_OF_BUSINESS workflow
|
||||
|
||||
@TestRailId:C2729
|
||||
Scenario: Verify that Asset externalization details has the correct data in case of a BUYBACK request placed before the settlementDate with a same settlementDate as the sales one
|
||||
Given Admin puts EXTERNAL_ASSET_OWNER_TRANSFER job into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "1 May 2023"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a new default Loan with date: "1 May 2023"
|
||||
@@ -159,11 +148,9 @@ Feature: Asset Externalization
|
||||
| 2023-05-21 | 1 | BUYBACK | 2023-05-10 | 2023-05-21 | BUYBACK |
|
||||
| 2023-05-21 | 1 | CANCELLED | 2023-05-21 | 2023-05-21 | SALE |
|
||||
| 2023-05-21 | 1 | CANCELLED | 2023-05-21 | 2023-05-21 | BUYBACK |
|
||||
Then Admin removes EXTERNAL_ASSET_OWNER_TRANSFER job from LOAN_CLOSE_OF_BUSINESS workflow
|
||||
|
||||
@TestRailId:C2730
|
||||
Scenario: Verify that Asset externalization details has the correct data in case of a BUYBACK request placed on a business date before the settlementDate of sales request and with a settlementDate for buyback after the sales got active
|
||||
Given Admin puts EXTERNAL_ASSET_OWNER_TRANSFER job into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "1 May 2023"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a new default Loan with date: "1 May 2023"
|
||||
@@ -200,11 +187,9 @@ Feature: Asset Externalization
|
||||
| 2023-05-21 | 1 | PENDING | 2023-05-01 | 2023-05-21 | SALE |
|
||||
| 2023-05-30 | 1 | BUYBACK | 2023-05-10 | 2023-05-30 | BUYBACK |
|
||||
| 2023-05-21 | 1 | ACTIVE | 2023-05-22 | 2023-05-30 | SALE |
|
||||
Then Admin removes EXTERNAL_ASSET_OWNER_TRANSFER job from LOAN_CLOSE_OF_BUSINESS workflow
|
||||
|
||||
@TestRailId:C2731
|
||||
Scenario: Verify that Asset externalization details has the correct data in case of a BUYBACK request placed after the settlementDate
|
||||
Given Admin puts EXTERNAL_ASSET_OWNER_TRANSFER job into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "1 May 2023"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a new default Loan with date: "1 May 2023"
|
||||
@@ -245,11 +230,9 @@ Feature: Asset Externalization
|
||||
| 2023-05-21 | 1 | PENDING | 2023-05-01 | 2023-05-21 | SALE |
|
||||
| 2023-05-21 | 1 | ACTIVE | 2023-05-22 | 2023-05-30 | SALE |
|
||||
| 2023-05-30 | 1 | BUYBACK | 2023-05-25 | 2023-05-30 | BUYBACK |
|
||||
Then Admin removes EXTERNAL_ASSET_OWNER_TRANSFER job from LOAN_CLOSE_OF_BUSINESS workflow
|
||||
|
||||
@TestRailId:C2732
|
||||
Scenario: Verify that BUYBACK request on a loan with PENDING ownership where BUYBACK settlement date is earlier than SALE settlement date results an error
|
||||
Given Admin puts EXTERNAL_ASSET_OWNER_TRANSFER job into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "1 May 2023"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a new default Loan with date: "1 May 2023"
|
||||
@@ -268,11 +251,9 @@ Feature: Asset Externalization
|
||||
Then BUYBACK transaction results a 403 error and proper error message when its settlementDate is earlier than the original settlementDate
|
||||
| Transaction type | settlementDate |
|
||||
| buyback | 2023-05-15 |
|
||||
Then Admin removes EXTERNAL_ASSET_OWNER_TRANSFER job from LOAN_CLOSE_OF_BUSINESS workflow
|
||||
|
||||
@TestRailId:C2733
|
||||
Scenario: Verify that SALES request on a fully paid loan results an error
|
||||
Given Admin puts EXTERNAL_ASSET_OWNER_TRANSFER job into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "1 May 2023"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a new default Loan with date: "1 May 2023"
|
||||
@@ -284,11 +265,9 @@ Feature: Asset Externalization
|
||||
Then Asset externalization transaction with the following data results a 403 error and "LOAN_NOT_ACTIVE" error message
|
||||
| Transaction type | settlementDate | purchasePriceRatio |
|
||||
| sale | 2023-05-21 | 1 |
|
||||
Then Admin removes EXTERNAL_ASSET_OWNER_TRANSFER job from LOAN_CLOSE_OF_BUSINESS workflow
|
||||
|
||||
@TestRailId:C2734
|
||||
Scenario: Verify that SALES request on an overpaid loan results an error
|
||||
Given Admin puts EXTERNAL_ASSET_OWNER_TRANSFER job into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "1 May 2023"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a new default Loan with date: "1 May 2023"
|
||||
@@ -300,11 +279,9 @@ Feature: Asset Externalization
|
||||
Then Asset externalization transaction with the following data results a 403 error and "LOAN_NOT_ACTIVE" error message
|
||||
| Transaction type | settlementDate | purchasePriceRatio |
|
||||
| sale | 2023-05-21 | 1 |
|
||||
Then Admin removes EXTERNAL_ASSET_OWNER_TRANSFER job from LOAN_CLOSE_OF_BUSINESS workflow
|
||||
|
||||
@TestRailId:C2735
|
||||
Scenario: Verify that SALES request on a loan with ACTIVE ownership results an error
|
||||
Given Admin puts EXTERNAL_ASSET_OWNER_TRANSFER job into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "1 May 2023"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a new default Loan with date: "1 May 2023"
|
||||
@@ -330,11 +307,9 @@ Feature: Asset Externalization
|
||||
Then Asset externalization transaction with the following data results a 403 error and "ASSET_OWNED_CANNOT_BE_SOLD" error message
|
||||
| Transaction type | settlementDate | purchasePriceRatio |
|
||||
| sale | 2023-05-30 | 1 |
|
||||
Then Admin removes EXTERNAL_ASSET_OWNER_TRANSFER job from LOAN_CLOSE_OF_BUSINESS workflow
|
||||
|
||||
@TestRailId:C2736
|
||||
Scenario: Verify that BUYBACK request on a fully paid loan can be done successfully
|
||||
Given Admin puts EXTERNAL_ASSET_OWNER_TRANSFER job into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "1 May 2023"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a new default Loan with date: "1 May 2023"
|
||||
@@ -367,11 +342,9 @@ Feature: Asset Externalization
|
||||
| 2023-05-21 | 1 | PENDING | 2023-05-01 | 2023-05-21 | SALE |
|
||||
| 2023-05-21 | 1 | ACTIVE | 2023-05-22 | 9999-12-31 | SALE |
|
||||
| 2023-05-30 | 1 | BUYBACK | 2023-05-25 | 9999-12-31 | BUYBACK |
|
||||
Then Admin removes EXTERNAL_ASSET_OWNER_TRANSFER job from LOAN_CLOSE_OF_BUSINESS workflow
|
||||
|
||||
@TestRailId:C2737
|
||||
Scenario: Verify that BUYBACK request on an overpaid loan can be done successfully
|
||||
Given Admin puts EXTERNAL_ASSET_OWNER_TRANSFER job into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "1 May 2023"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a new default Loan with date: "1 May 2023"
|
||||
@@ -404,11 +377,9 @@ Feature: Asset Externalization
|
||||
| 2023-05-21 | 1 | PENDING | 2023-05-01 | 2023-05-21 | SALE |
|
||||
| 2023-05-21 | 1 | ACTIVE | 2023-05-22 | 9999-12-31 | SALE |
|
||||
| 2023-05-30 | 1 | BUYBACK | 2023-05-25 | 9999-12-31 | BUYBACK |
|
||||
Then Admin removes EXTERNAL_ASSET_OWNER_TRANSFER job from LOAN_CLOSE_OF_BUSINESS workflow
|
||||
|
||||
@TestRailId:C2738
|
||||
Scenario: Verify that BUYBACK request on a loan with INACTIVE ownership results an error
|
||||
Given Admin puts EXTERNAL_ASSET_OWNER_TRANSFER job into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "1 May 2023"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a new default Loan with date: "1 May 2023"
|
||||
@@ -418,11 +389,9 @@ Feature: Asset Externalization
|
||||
Then Asset externalization transaction with the following data results a 403 error and "ASSET_NOT_OWNED_CANNOT_BE_BOUGHT" error message
|
||||
| Transaction type | settlementDate | purchasePriceRatio |
|
||||
| buyback | 2023-05-21 | |
|
||||
Then Admin removes EXTERNAL_ASSET_OWNER_TRANSFER job from LOAN_CLOSE_OF_BUSINESS workflow
|
||||
|
||||
@TestRailId:C2739
|
||||
Scenario: Verify that SALES request can NOT be placed on a loan which is not APPROVED yet
|
||||
Given Admin puts EXTERNAL_ASSET_OWNER_TRANSFER job into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "1 May 2023"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a new default Loan with date: "1 May 2023"
|
||||
@@ -430,11 +399,9 @@ Feature: Asset Externalization
|
||||
Then Asset externalization transaction with the following data results a 403 error and "LOAN_NOT_ACTIVE" error message
|
||||
| Transaction type | settlementDate | purchasePriceRatio |
|
||||
| sale | 2023-05-30 | 1 |
|
||||
Then Admin removes EXTERNAL_ASSET_OWNER_TRANSFER job from LOAN_CLOSE_OF_BUSINESS workflow
|
||||
|
||||
@TestRailId:C2740
|
||||
Scenario: Verify that SALES request can NOT be placed on a loan which is not DISBURSED yet
|
||||
Given Admin puts EXTERNAL_ASSET_OWNER_TRANSFER job into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "1 May 2023"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a new default Loan with date: "1 May 2023"
|
||||
@@ -443,11 +410,9 @@ Feature: Asset Externalization
|
||||
Then Asset externalization transaction with the following data results a 403 error and "LOAN_NOT_ACTIVE" error message
|
||||
| Transaction type | settlementDate | purchasePriceRatio |
|
||||
| sale | 2023-05-30 | 1 |
|
||||
Then Admin removes EXTERNAL_ASSET_OWNER_TRANSFER job from LOAN_CLOSE_OF_BUSINESS workflow
|
||||
|
||||
@TestRailId:C2741
|
||||
Scenario: Verify that SALES request on a loan with PENDING ownership results an error
|
||||
Given Admin puts EXTERNAL_ASSET_OWNER_TRANSFER job into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "1 May 2023"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a new default Loan with date: "1 May 2023"
|
||||
@@ -466,11 +431,9 @@ Feature: Asset Externalization
|
||||
Then Asset externalization transaction with the following data results a 403 error and "ALREADY_PENDING" error message
|
||||
| Transaction type | settlementDate | purchasePriceRatio |
|
||||
| sale | 2023-05-30 | 1 |
|
||||
Then Admin removes EXTERNAL_ASSET_OWNER_TRANSFER job from LOAN_CLOSE_OF_BUSINESS workflow
|
||||
|
||||
@TestRailId:C2742
|
||||
Scenario: Verify that SALES with settlement date earlier than actual business date results an error
|
||||
Given Admin puts EXTERNAL_ASSET_OWNER_TRANSFER job into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "1 May 2023"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a new default Loan with date: "1 May 2023"
|
||||
@@ -480,11 +443,9 @@ Feature: Asset Externalization
|
||||
Then Asset externalization transaction with the following data results a 403 error and "SETTLEMENT_DATE_IN_THE_PAST" error message
|
||||
| Transaction type | settlementDate | purchasePriceRatio |
|
||||
| sale | 2023-04-21 | 1 |
|
||||
Then Admin removes EXTERNAL_ASSET_OWNER_TRANSFER job from LOAN_CLOSE_OF_BUSINESS workflow
|
||||
|
||||
@TestRailId:C2743
|
||||
Scenario: Verify that SALES with null owner external id results an error
|
||||
Given Admin puts EXTERNAL_ASSET_OWNER_TRANSFER job into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "1 May 2023"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a new default Loan with date: "1 May 2023"
|
||||
@@ -494,11 +455,9 @@ Feature: Asset Externalization
|
||||
Then Asset externalization SALES transaction with ownerExternalId = null and the following data results a 400 error and "INVALID_REQUEST" error message
|
||||
| settlementDate | purchasePriceRatio |
|
||||
| 2023-05-21 | 1 |
|
||||
Then Admin removes EXTERNAL_ASSET_OWNER_TRANSFER job from LOAN_CLOSE_OF_BUSINESS workflow
|
||||
|
||||
@TestRailId:C2744
|
||||
Scenario: Verify that SALES with null purchase price ratio results an error
|
||||
Given Admin puts EXTERNAL_ASSET_OWNER_TRANSFER job into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "1 May 2023"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a new default Loan with date: "1 May 2023"
|
||||
@@ -508,11 +467,9 @@ Feature: Asset Externalization
|
||||
Then Asset externalization transaction with the following data results a 400 error and "INVALID_REQUEST" error message
|
||||
| Transaction type | settlementDate | purchasePriceRatio |
|
||||
| sale | 2023-05-21 | |
|
||||
Then Admin removes EXTERNAL_ASSET_OWNER_TRANSFER job from LOAN_CLOSE_OF_BUSINESS workflow
|
||||
|
||||
@TestRailId:C2745
|
||||
Scenario: Verify that SALES with null settlement date results an error
|
||||
Given Admin puts EXTERNAL_ASSET_OWNER_TRANSFER job into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "1 May 2023"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a new default Loan with date: "1 May 2023"
|
||||
@@ -522,11 +479,9 @@ Feature: Asset Externalization
|
||||
Then Asset externalization transaction with the following data results a 400 error and "INVALID_REQUEST" error message
|
||||
| Transaction type | settlementDate | purchasePriceRatio |
|
||||
| sale | | 1 |
|
||||
Then Admin removes EXTERNAL_ASSET_OWNER_TRANSFER job from LOAN_CLOSE_OF_BUSINESS workflow
|
||||
|
||||
@TestRailId:C2746
|
||||
Scenario: Verify that BUYBACK request on a loan with PENDING BUYBACK ownership result an error
|
||||
Given Admin puts EXTERNAL_ASSET_OWNER_TRANSFER job into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "1 May 2023"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a new default Loan with date: "1 May 2023"
|
||||
@@ -563,11 +518,9 @@ Feature: Asset Externalization
|
||||
Then Asset externalization transaction with the following data results a 403 error and "BUYBACK_ALREADY_IN_PROGRESS_CANNOT_BE_BOUGHT" error message
|
||||
| Transaction type | settlementDate | purchasePriceRatio |
|
||||
| buyback | 2023-05-30 | |
|
||||
Then Admin removes EXTERNAL_ASSET_OWNER_TRANSFER job from LOAN_CLOSE_OF_BUSINESS workflow
|
||||
|
||||
@TestRailId:C2747
|
||||
Scenario: Verify that BUYBACK with settlement date earlier than actual business date results an error
|
||||
Given Admin puts EXTERNAL_ASSET_OWNER_TRANSFER job into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "1 May 2023"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a new default Loan with date: "1 May 2023"
|
||||
@@ -594,11 +547,9 @@ Feature: Asset Externalization
|
||||
Then Asset externalization transaction with the following data results a 403 error and "SETTLEMENT_DATE_IN_THE_PAST" error message
|
||||
| Transaction type | settlementDate | purchasePriceRatio |
|
||||
| buyback | 2023-05-21 | |
|
||||
Then Admin removes EXTERNAL_ASSET_OWNER_TRANSFER job from LOAN_CLOSE_OF_BUSINESS workflow
|
||||
|
||||
@TestRailId:C2748
|
||||
Scenario: Verify that BUYBACK with ownerExternalId=NULL can be placed, and results a 200OK response
|
||||
Given Admin puts EXTERNAL_ASSET_OWNER_TRANSFER job into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "1 May 2023"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a new default Loan with date: "1 May 2023"
|
||||
@@ -628,11 +579,9 @@ Feature: Asset Externalization
|
||||
| 2023-05-21 | 1 | PENDING | 2023-05-01 | 2023-05-21 | SALE |
|
||||
| 2023-05-21 | 1 | ACTIVE | 2023-05-22 | 9999-12-31 | SALE |
|
||||
| 2023-05-30 | 1 | BUYBACK | 2023-05-25 | 9999-12-31 | BUYBACK |
|
||||
Then Admin removes EXTERNAL_ASSET_OWNER_TRANSFER job from LOAN_CLOSE_OF_BUSINESS workflow
|
||||
|
||||
@TestRailId:C2749
|
||||
Scenario: Verify that BUYBACK with purchasePriceRatio=NULL can be placed, and results a 200OK response
|
||||
Given Admin puts EXTERNAL_ASSET_OWNER_TRANSFER job into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "1 May 2023"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a new default Loan with date: "1 May 2023"
|
||||
@@ -664,11 +613,9 @@ Feature: Asset Externalization
|
||||
| 2023-05-21 | 1 | PENDING | 2023-05-01 | 2023-05-21 | SALE |
|
||||
| 2023-05-21 | 1 | ACTIVE | 2023-05-22 | 9999-12-31 | SALE |
|
||||
| 2023-05-30 | 1 | BUYBACK | 2023-05-25 | 9999-12-31 | BUYBACK |
|
||||
Then Admin removes EXTERNAL_ASSET_OWNER_TRANSFER job from LOAN_CLOSE_OF_BUSINESS workflow
|
||||
|
||||
@TestRailId:C2750
|
||||
Scenario: Verify that SALES with null settlement date results an error
|
||||
Given Admin puts EXTERNAL_ASSET_OWNER_TRANSFER job into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "1 May 2023"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a new default Loan with date: "1 May 2023"
|
||||
@@ -695,11 +642,9 @@ Feature: Asset Externalization
|
||||
Then Asset externalization transaction with the following data results a 400 error and "INVALID_REQUEST" error message
|
||||
| Transaction type | settlementDate | purchasePriceRatio |
|
||||
| buyback | | |
|
||||
Then Admin removes EXTERNAL_ASSET_OWNER_TRANSFER job from LOAN_CLOSE_OF_BUSINESS workflow
|
||||
|
||||
@TestRailId:C2751 @AssetExternalizationJournalEntry
|
||||
Scenario: Verify that Asset externalization SALES and BUYBACK has the correct Journal entries: no other transactions
|
||||
Given Admin puts EXTERNAL_ASSET_OWNER_TRANSFER job into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "1 May 2023"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a new default Loan with date: "1 May 2023"
|
||||
@@ -757,11 +702,9 @@ Feature: Asset Externalization
|
||||
| glAccountType | glAccountCode | glAccountName | entryType | amount |
|
||||
| ASSET | 112601 | Loans Receivable | DEBIT | 1000.00 |
|
||||
| ASSET | 112601 | Loans Receivable | CREDIT | 1000.00 |
|
||||
Then Admin removes EXTERNAL_ASSET_OWNER_TRANSFER job from LOAN_CLOSE_OF_BUSINESS workflow
|
||||
|
||||
@TestRailId:C2752 @AssetExternalizationJournalEntry
|
||||
Scenario: Verify that Asset externalization SALES and BUYBACK has the correct Journal entries: fee applied before sale, and penalty applied before buyback
|
||||
Given Admin puts EXTERNAL_ASSET_OWNER_TRANSFER job into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "1 May 2023"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a new default Loan with date: "1 May 2023"
|
||||
@@ -834,11 +777,9 @@ Feature: Asset Externalization
|
||||
| INCOME | 404007 | Fee Income | CREDIT | 20.00 |
|
||||
| ASSET | 112601 | Loans Receivable | CREDIT | 1000.00 |
|
||||
| ASSET | 112603 | Interest/Fee Receivable | CREDIT | 30.00 |
|
||||
Then Admin removes EXTERNAL_ASSET_OWNER_TRANSFER job from LOAN_CLOSE_OF_BUSINESS workflow
|
||||
|
||||
@TestRailId:C2753 @AssetExternalizationJournalEntry
|
||||
Scenario: Verify that Asset externalization SALES and BUYBACK has the correct Journal entries: Repyment while status is ACTIVE
|
||||
Given Admin puts EXTERNAL_ASSET_OWNER_TRANSFER job into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "1 May 2023"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a new default Loan with date: "1 May 2023"
|
||||
@@ -899,11 +840,9 @@ Feature: Asset Externalization
|
||||
| ASSET | 112601 | Loans Receivable | CREDIT | 200.00 |
|
||||
| LIABILITY | 145023 | Suspense/Clearing account | DEBIT | 200.00 |
|
||||
| ASSET | 112601 | Loans Receivable | CREDIT | 800.00 |
|
||||
Then Admin removes EXTERNAL_ASSET_OWNER_TRANSFER job from LOAN_CLOSE_OF_BUSINESS workflow
|
||||
|
||||
@TestRailId:C2754 @AssetExternalizationJournalEntry
|
||||
Scenario: Verify that Asset externalization SALES and BUYBACK has the correct Journal entries: GOODWILL_CREDIT transaction while status is ACTIVE
|
||||
Given Admin puts EXTERNAL_ASSET_OWNER_TRANSFER job into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "1 May 2023"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a new default Loan with date: "1 May 2023"
|
||||
@@ -964,11 +903,9 @@ Feature: Asset Externalization
|
||||
| ASSET | 112601 | Loans Receivable | CREDIT | 200.00 |
|
||||
| EXPENSE | 744003 | Goodwill Expense Account | DEBIT | 200.00 |
|
||||
| ASSET | 112601 | Loans Receivable | CREDIT | 800.00 |
|
||||
Then Admin removes EXTERNAL_ASSET_OWNER_TRANSFER job from LOAN_CLOSE_OF_BUSINESS workflow
|
||||
|
||||
@TestRailId:C2755 @AssetExternalizationJournalEntry
|
||||
Scenario: Verify that Asset externalization SALES and BUYBACK has the correct Journal entries: MERCHANT_ISSUED_REFUND transaction while status is ACTIVE
|
||||
Given Admin puts EXTERNAL_ASSET_OWNER_TRANSFER job into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "1 May 2023"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a new default Loan with date: "1 May 2023"
|
||||
@@ -1029,11 +966,9 @@ Feature: Asset Externalization
|
||||
| ASSET | 112601 | Loans Receivable | CREDIT | 200.00 |
|
||||
| LIABILITY | 145023 | Suspense/Clearing account | DEBIT | 200.00 |
|
||||
| ASSET | 112601 | Loans Receivable | CREDIT | 800.00 |
|
||||
Then Admin removes EXTERNAL_ASSET_OWNER_TRANSFER job from LOAN_CLOSE_OF_BUSINESS workflow
|
||||
|
||||
@TestRailId:C2756 @AssetExternalizationJournalEntry
|
||||
Scenario: Verify that Asset externalization SALES and BUYBACK has the correct Journal entries: PAYOUT_REFUND transaction while status is ACTIVE
|
||||
Given Admin puts EXTERNAL_ASSET_OWNER_TRANSFER job into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "1 May 2023"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a new default Loan with date: "1 May 2023"
|
||||
@@ -1094,11 +1029,9 @@ Feature: Asset Externalization
|
||||
| ASSET | 112601 | Loans Receivable | CREDIT | 200.00 |
|
||||
| LIABILITY | 145023 | Suspense/Clearing account | DEBIT | 200.00 |
|
||||
| ASSET | 112601 | Loans Receivable | CREDIT | 800.00 |
|
||||
Then Admin removes EXTERNAL_ASSET_OWNER_TRANSFER job from LOAN_CLOSE_OF_BUSINESS workflow
|
||||
|
||||
@TestRailId:C2757 @AssetExternalizationJournalEntry
|
||||
Scenario: Verify that Asset externalization SALES and BUYBACK has the correct Journal entries: REPAYMENT_ADJUSTMENT_REFUND chargeback transaction while status is ACTIVE
|
||||
Given Admin puts EXTERNAL_ASSET_OWNER_TRANSFER job into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "1 May 2023"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a new default Loan with date: "1 May 2023"
|
||||
@@ -1164,11 +1097,9 @@ Feature: Asset Externalization
|
||||
| ASSET | 112601 | Loans Receivable | DEBIT | 800.00 |
|
||||
| LIABILITY | 145023 | Suspense/Clearing account | CREDIT | 800.00 |
|
||||
| ASSET | 112601 | Loans Receivable | CREDIT | 800.00 |
|
||||
Then Admin removes EXTERNAL_ASSET_OWNER_TRANSFER job from LOAN_CLOSE_OF_BUSINESS workflow
|
||||
|
||||
@TestRailId:C2758 @AssetExternalizationJournalEntry
|
||||
Scenario: Verify that Asset externalization SALES and BUYBACK has the correct Journal entries: CHARGE ADJUSTMENT transaction while status is ACTIVE
|
||||
Given Admin puts EXTERNAL_ASSET_OWNER_TRANSFER job into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "1 May 2023"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a new default Loan with date: "1 May 2023"
|
||||
@@ -1237,11 +1168,9 @@ Feature: Asset Externalization
|
||||
| INCOME | 404007 | Fee Income | DEBIT | 100.00 |
|
||||
| ASSET | 112601 | Loans Receivable | CREDIT | 1000.00 |
|
||||
| ASSET | 112603 | Interest/Fee Receivable | CREDIT | 200.00 |
|
||||
Then Admin removes EXTERNAL_ASSET_OWNER_TRANSFER job from LOAN_CLOSE_OF_BUSINESS workflow
|
||||
|
||||
@TestRailId:C2759
|
||||
Scenario: Verify that LoanOwnershipTransferBusinessEvent and LoanAccountSnapshotBusinessEvent is created with correct data
|
||||
Given Admin puts EXTERNAL_ASSET_OWNER_TRANSFER job into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "1 May 2023"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a new default Loan with date: "1 May 2023"
|
||||
@@ -1277,11 +1206,9 @@ Feature: Asset Externalization
|
||||
| 2023-05-30 | 1 | BUYBACK | 2023-05-25 | 2023-05-30 | BUYBACK |
|
||||
Then LoanOwnershipTransferBusinessEvent is created
|
||||
Then LoanAccountSnapshotBusinessEvent is created
|
||||
Then Admin removes EXTERNAL_ASSET_OWNER_TRANSFER job from LOAN_CLOSE_OF_BUSINESS workflow
|
||||
|
||||
@TestRailId:C2760
|
||||
Scenario: Verify that LoanOwnershipTransferBusinessEvent and LoanAccountSnapshotBusinessEvent is created with correct data for partial repayment, fee, penalty
|
||||
Given Admin puts EXTERNAL_ASSET_OWNER_TRANSFER job into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "1 May 2023"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a new default Loan with date: "1 May 2023"
|
||||
@@ -1320,11 +1247,9 @@ Feature: Asset Externalization
|
||||
| 2023-05-30 | 1 | BUYBACK | 2023-05-25 | 2023-05-30 | BUYBACK |
|
||||
Then LoanOwnershipTransferBusinessEvent is created
|
||||
Then LoanAccountSnapshotBusinessEvent is created
|
||||
Then Admin removes EXTERNAL_ASSET_OWNER_TRANSFER job from LOAN_CLOSE_OF_BUSINESS workflow
|
||||
|
||||
@TestRailId:C2771
|
||||
Scenario: Verify that SALE and BUYBACK can be cancelled in right order
|
||||
Given Admin puts EXTERNAL_ASSET_OWNER_TRANSFER job into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "1 May 2023"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a new default Loan with date: "1 May 2023"
|
||||
@@ -1361,11 +1286,9 @@ Feature: Asset Externalization
|
||||
| 2023-05-21 | 1 | BUYBACK | 2023-05-10 | 2023-05-10 |
|
||||
| 2023-05-21 | 1 | CANCELLED | 2023-05-10 | 2023-05-10 |
|
||||
| 2023-05-21 | 1 | CANCELLED | 2023-05-01 | 2023-05-10 |
|
||||
Then Admin removes EXTERNAL_ASSET_OWNER_TRANSFER job from LOAN_CLOSE_OF_BUSINESS workflow
|
||||
|
||||
@TestRailId:C2772
|
||||
Scenario: Verify that SALE can be cancelled
|
||||
Given Admin puts EXTERNAL_ASSET_OWNER_TRANSFER job into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "1 May 2023"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a new default Loan with date: "1 May 2023"
|
||||
@@ -1385,11 +1308,9 @@ Feature: Asset Externalization
|
||||
| settlementDate | purchasePriceRatio | status | effectiveFrom | effectiveTo |
|
||||
| 2023-05-21 | 1 | PENDING | 2023-05-01 | 2023-05-10 |
|
||||
| 2023-05-21 | 1 | CANCELLED | 2023-05-01 | 2023-05-10 |
|
||||
Then Admin removes EXTERNAL_ASSET_OWNER_TRANSFER job from LOAN_CLOSE_OF_BUSINESS workflow
|
||||
|
||||
@TestRailId:C2773
|
||||
Scenario: Verify that active SALE can not be cancelled
|
||||
Given Admin puts EXTERNAL_ASSET_OWNER_TRANSFER job into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "1 May 2023"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a new default Loan with date: "1 May 2023"
|
||||
@@ -1410,11 +1331,9 @@ Feature: Asset Externalization
|
||||
| 2023-05-21 | 1 | PENDING | 2023-05-01 | 2023-05-21 | SALE |
|
||||
| 2023-05-21 | 1 | ACTIVE | 2023-05-22 | 9999-12-31 | SALE |
|
||||
When Admin send "cancel" command on "SALE" transaction it will throw an error
|
||||
Then Admin removes EXTERNAL_ASSET_OWNER_TRANSFER job from LOAN_CLOSE_OF_BUSINESS workflow
|
||||
|
||||
@TestRailId:C2774
|
||||
Scenario: Verify that Asset cannot be cancelled after SALE and BUYBACK is completed
|
||||
Given Admin puts EXTERNAL_ASSET_OWNER_TRANSFER job into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "1 May 2023"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a new default Loan with date: "1 May 2023"
|
||||
@@ -1452,11 +1371,9 @@ Feature: Asset Externalization
|
||||
| 2023-05-30 | 1 | BUYBACK | 2023-05-10 | 2023-05-30 | BUYBACK |
|
||||
| 2023-05-21 | 1 | ACTIVE | 2023-05-22 | 2023-05-30 | SALE |
|
||||
When Admin send "cancel" command on "SALE" transaction it will throw an error
|
||||
Then Admin removes EXTERNAL_ASSET_OWNER_TRANSFER job from LOAN_CLOSE_OF_BUSINESS workflow
|
||||
|
||||
@TestRailId:C2775
|
||||
Scenario: Verify that SALE and BUYBACK can be cancelled in right order with double cancel test
|
||||
Given Admin puts EXTERNAL_ASSET_OWNER_TRANSFER job into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "1 May 2023"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a new default Loan with date: "1 May 2023"
|
||||
@@ -1513,11 +1430,9 @@ Feature: Asset Externalization
|
||||
| 2023-05-21 | 1 | BUYBACK | 2023-05-10 | 2023-05-10 |
|
||||
| 2023-05-21 | 1 | CANCELLED | 2023-05-10 | 2023-05-10 |
|
||||
| 2023-05-21 | 1 | CANCELLED | 2023-05-01 | 2023-05-10 |
|
||||
Then Admin removes EXTERNAL_ASSET_OWNER_TRANSFER job from LOAN_CLOSE_OF_BUSINESS workflow
|
||||
|
||||
@TestRailId:C2785
|
||||
Scenario: Verify that when a loan with PENDING SALES is fully paid asset transfer status will be DECLINED
|
||||
Given Admin puts EXTERNAL_ASSET_OWNER_TRANSFER job into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "1 May 2023"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a new default Loan with date: "1 May 2023"
|
||||
@@ -1539,11 +1454,9 @@ Feature: Asset Externalization
|
||||
| 2023-05-21 | 1 | PENDING | 2023-05-01 | 2023-05-15 | SALE |
|
||||
| 2023-05-21 | 1 | DECLINED | 2023-05-15 | 2023-05-15 | SALE |
|
||||
Then LoanOwnershipTransferBusinessEvent with transfer status: "DECLINED" and transfer status reason "BALANCE_ZERO" is created
|
||||
Then Admin removes EXTERNAL_ASSET_OWNER_TRANSFER job from LOAN_CLOSE_OF_BUSINESS workflow
|
||||
|
||||
@TestRailId:C2786
|
||||
Scenario: Verify that when a loan with PENDING SALES is overpaid asset transfer status will be DECLINED
|
||||
Given Admin puts EXTERNAL_ASSET_OWNER_TRANSFER job into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "1 May 2023"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a new default Loan with date: "1 May 2023"
|
||||
@@ -1565,11 +1478,9 @@ Feature: Asset Externalization
|
||||
| 2023-05-21 | 1 | PENDING | 2023-05-01 | 2023-05-15 | SALE |
|
||||
| 2023-05-21 | 1 | DECLINED | 2023-05-15 | 2023-05-15 | SALE |
|
||||
Then LoanOwnershipTransferBusinessEvent with transfer status: "DECLINED" and transfer status reason "BALANCE_NEGATIVE" is created
|
||||
Then Admin removes EXTERNAL_ASSET_OWNER_TRANSFER job from LOAN_CLOSE_OF_BUSINESS workflow
|
||||
|
||||
@TestRailId:C2787
|
||||
Scenario: Verify that when a loan with PENDING BUYBACK is fully paid BUYBACK transaction can be done successfully
|
||||
Given Admin puts EXTERNAL_ASSET_OWNER_TRANSFER job into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "1 May 2023"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a new default Loan with date: "1 May 2023"
|
||||
@@ -1607,11 +1518,9 @@ Feature: Asset Externalization
|
||||
| 2023-05-21 | 1 | PENDING | 2023-05-01 | 2023-05-21 | SALE |
|
||||
| 2023-05-21 | 1 | ACTIVE | 2023-05-22 | 2023-05-25 | SALE |
|
||||
| 2023-05-30 | 1 | BUYBACK | 2023-05-22 | 2023-05-25 | BUYBACK |
|
||||
Then Admin removes EXTERNAL_ASSET_OWNER_TRANSFER job from LOAN_CLOSE_OF_BUSINESS workflow
|
||||
|
||||
@TestRailId:C2788
|
||||
Scenario: Verify that when a loan with PENDING BUYBACK is overpaid BUYBACK transaction can be done successfully
|
||||
Given Admin puts EXTERNAL_ASSET_OWNER_TRANSFER job into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "1 May 2023"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a new default Loan with date: "1 May 2023"
|
||||
@@ -1649,11 +1558,9 @@ Feature: Asset Externalization
|
||||
| 2023-05-21 | 1 | PENDING | 2023-05-01 | 2023-05-21 | SALE |
|
||||
| 2023-05-21 | 1 | ACTIVE | 2023-05-22 | 2023-05-25 | SALE |
|
||||
| 2023-05-30 | 1 | BUYBACK | 2023-05-22 | 2023-05-25 | BUYBACK |
|
||||
Then Admin removes EXTERNAL_ASSET_OWNER_TRANSFER job from LOAN_CLOSE_OF_BUSINESS workflow
|
||||
|
||||
@TestRailId:C2811
|
||||
Scenario: Verify that transaction and transaction adjustment events has the proper external owner
|
||||
Given Admin puts EXTERNAL_ASSET_OWNER_TRANSFER job into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "1 May 2023"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a new default Loan with date: "1 May 2023"
|
||||
@@ -1676,12 +1583,10 @@ Feature: Asset Externalization
|
||||
| 2023-05-21 | 1 | ACTIVE | 2023-05-22 | 9999-12-31 | SALE |
|
||||
And Customer makes "AUTOPAY" repayment on "22 May 2023" with 10 EUR transaction amount and check external owner
|
||||
When Customer adjust "1"th repayment on "22 May 2023" with amount "9" and check external owner
|
||||
Then Admin removes EXTERNAL_ASSET_OWNER_TRANSFER job from LOAN_CLOSE_OF_BUSINESS workflow
|
||||
|
||||
|
||||
@TestRailId:C3193
|
||||
Scenario: Verify that Asset externalization SALES and BUYBACK has the correct Journal entries: no other transactions - interest bearing loan
|
||||
Given Admin puts EXTERNAL_ASSET_OWNER_TRANSFER job into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "1 May 2023"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a fully customized loan with the following data:
|
||||
@@ -1774,4 +1679,3 @@ Feature: Asset Externalization
|
||||
| INCOME | 404000 | Interest Income | CREDIT | 0.33 |
|
||||
| ASSET | 112603 | Interest/Fee Receivable | DEBIT | 0.33 |
|
||||
| INCOME | 404000 | Interest Income | CREDIT | 0.33 |
|
||||
Then Admin removes EXTERNAL_ASSET_OWNER_TRANSFER job from LOAN_CLOSE_OF_BUSINESS workflow
|
||||
|
||||
@@ -1871,7 +1871,6 @@ Feature: EMI calculation and repayment schedule checks for interest bearing loan
|
||||
|
||||
@TestRailId:C3226
|
||||
Scenario: Verify interest recalculation in case of overdue installments: UC1 - 1st installment overdue, interest recalculation: daily, till preclose
|
||||
Given Admin puts "LOAN_INTEREST_RECALCULATION" business step into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "01 January 2024"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a fully customized loan with the following data:
|
||||
@@ -1914,11 +1913,9 @@ Feature: EMI calculation and repayment schedule checks for interest bearing loan
|
||||
| 01 January 2024 | Disbursement | 100.0 | 0.0 | 0.0 | 0.0 | 0.0 | 100.0 | false | false |
|
||||
| 01 February 2024 | Accrual | 0.58 | 0.0 | 0.58 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 14 February 2024 | Accrual | 0.24 | 0.0 | 0.24 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
Then Admin sets back LOAN_CLOSE_OF_BUSINESS workflow to its initial state
|
||||
|
||||
@TestRailId:C3227
|
||||
Scenario: Verify interest recalculation in case of overdue installments: UC2 - 1st installment overdue, interest recalculation: daily, till rest frequency date
|
||||
Given Admin puts "LOAN_INTEREST_RECALCULATION" business step into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "01 January 2024"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a fully customized loan with the following data:
|
||||
@@ -1961,11 +1958,9 @@ Feature: EMI calculation and repayment schedule checks for interest bearing loan
|
||||
| 01 January 2024 | Disbursement | 100.0 | 0.0 | 0.0 | 0.0 | 0.0 | 100.0 | false | false |
|
||||
| 01 February 2024 | Accrual | 0.58 | 0.0 | 0.58 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 14 February 2024 | Accrual | 0.24 | 0.0 | 0.24 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
Then Admin sets back LOAN_CLOSE_OF_BUSINESS workflow to its initial state
|
||||
|
||||
@TestRailId:C3228
|
||||
Scenario: Verify interest recalculation in case of overdue installments: UC3 - 1st installment overdue, interest recalculation: same as repayment period, till preclose
|
||||
Given Admin puts "LOAN_INTEREST_RECALCULATION" business step into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "01 January 2024"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a fully customized loan with the following data:
|
||||
@@ -2008,11 +2003,9 @@ Feature: EMI calculation and repayment schedule checks for interest bearing loan
|
||||
| 01 January 2024 | Disbursement | 100.0 | 0.0 | 0.0 | 0.0 | 0.0 | 100.0 | false | false |
|
||||
| 01 February 2024 | Accrual | 0.58 | 0.0 | 0.58 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 14 February 2024 | Accrual | 0.26 | 0.0 | 0.26 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
Then Admin sets back LOAN_CLOSE_OF_BUSINESS workflow to its initial state
|
||||
|
||||
@TestRailId:C3229
|
||||
Scenario: Verify interest recalculation in case of overdue installments: UC4 - 1st installment overdue, interest recalculation: same as repayment period, till rest frequency date
|
||||
Given Admin puts "LOAN_INTEREST_RECALCULATION" business step into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "01 January 2024"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a fully customized loan with the following data:
|
||||
@@ -2055,11 +2048,9 @@ Feature: EMI calculation and repayment schedule checks for interest bearing loan
|
||||
| 01 January 2024 | Disbursement | 100.0 | 0.0 | 0.0 | 0.0 | 0.0 | 100.0 | false | false |
|
||||
| 01 February 2024 | Accrual | 0.58 | 0.0 | 0.58 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 14 February 2024 | Accrual | 0.26 | 0.0 | 0.26 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
Then Admin sets back LOAN_CLOSE_OF_BUSINESS workflow to its initial state
|
||||
|
||||
@TestRailId:C3230
|
||||
Scenario: Verify interest recalculation in case of overdue installments: UC5 - 1st and 2nd installment overdue, interest recalculation: daily, till preclose
|
||||
Given Admin puts "LOAN_INTEREST_RECALCULATION" business step into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "01 January 2024"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a fully customized loan with the following data:
|
||||
@@ -2104,11 +2095,9 @@ Feature: EMI calculation and repayment schedule checks for interest bearing loan
|
||||
| 01 March 2024 | Accrual | 0.49 | 0.0 | 0.49 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 01 March 2024 | Accrual | 0.09 | 0.0 | 0.09 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 09 March 2024 | Accrual | 0.12 | 0.0 | 0.12 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
Then Admin sets back LOAN_CLOSE_OF_BUSINESS workflow to its initial state
|
||||
|
||||
@TestRailId:C3231
|
||||
Scenario: Verify interest recalculation in case of overdue installments: UC6 - 1st and 2nd installment overdue, interest recalculation: daily, till rest frequency date
|
||||
Given Admin puts "LOAN_INTEREST_RECALCULATION" business step into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "01 January 2024"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a fully customized loan with the following data:
|
||||
@@ -2153,11 +2142,9 @@ Feature: EMI calculation and repayment schedule checks for interest bearing loan
|
||||
| 01 March 2024 | Accrual | 0.49 | 0.0 | 0.49 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 01 March 2024 | Accrual | 0.09 | 0.0 | 0.09 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 09 March 2024 | Accrual | 0.12 | 0.0 | 0.12 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
Then Admin sets back LOAN_CLOSE_OF_BUSINESS workflow to its initial state
|
||||
|
||||
@TestRailId:C3232
|
||||
Scenario: Verify interest recalculation in case of overdue installments: UC7 - 1st and 2nd installment overdue, interest recalculation: same as repayment period, till preclose
|
||||
Given Admin puts "LOAN_INTEREST_RECALCULATION" business step into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "01 January 2024"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a fully customized loan with the following data:
|
||||
@@ -2202,11 +2189,9 @@ Feature: EMI calculation and repayment schedule checks for interest bearing loan
|
||||
| 01 March 2024 | Accrual | 0.49 | 0.0 | 0.49 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 01 March 2024 | Accrual | 0.09 | 0.0 | 0.09 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 09 March 2024 | Accrual | 0.15 | 0.0 | 0.15 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
Then Admin sets back LOAN_CLOSE_OF_BUSINESS workflow to its initial state
|
||||
|
||||
@TestRailId:C3233
|
||||
Scenario: Verify interest recalculation in case of overdue installments: UC8 - 1st and 2nd installment overdue, interest recalculation: same as repayment period, till rest frequency date
|
||||
Given Admin puts "LOAN_INTEREST_RECALCULATION" business step into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "01 January 2024"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a fully customized loan with the following data:
|
||||
@@ -2251,11 +2236,9 @@ Feature: EMI calculation and repayment schedule checks for interest bearing loan
|
||||
| 01 March 2024 | Accrual | 0.49 | 0.0 | 0.49 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 01 March 2024 | Accrual | 0.09 | 0.0 | 0.09 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 09 March 2024 | Accrual | 0.15 | 0.0 | 0.15 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
Then Admin sets back LOAN_CLOSE_OF_BUSINESS workflow to its initial state
|
||||
|
||||
@TestRailId:C3234
|
||||
Scenario: Verify interest recalculation in case of overdue installments: UC9 - 1st installment paid on due date, 2nd installment overdue, interest recalculation: daily, till preclose
|
||||
Given Admin puts "LOAN_INTEREST_RECALCULATION" business step into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "01 January 2024"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a fully customized loan with the following data:
|
||||
@@ -2319,11 +2302,9 @@ Feature: EMI calculation and repayment schedule checks for interest bearing loan
|
||||
| 01 February 2024 | Accrual | 0.58 | 0.0 | 0.58 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 01 March 2024 | Accrual | 0.49 | 0.0 | 0.49 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 09 March 2024 | Accrual | 0.11 | 0.0 | 0.11 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
Then Admin sets back LOAN_CLOSE_OF_BUSINESS workflow to its initial state
|
||||
|
||||
@TestRailId:C3235
|
||||
Scenario: Verify interest recalculation in case of overdue installments: UC10 - 1st installment paid on due date, 2nd installment overdue, interest recalculation: daily, till rest frequency date
|
||||
Given Admin puts "LOAN_INTEREST_RECALCULATION" business step into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "01 January 2024"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a fully customized loan with the following data:
|
||||
@@ -2387,11 +2368,9 @@ Feature: EMI calculation and repayment schedule checks for interest bearing loan
|
||||
| 01 February 2024 | Accrual | 0.58 | 0.0 | 0.58 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 01 March 2024 | Accrual | 0.49 | 0.0 | 0.49 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 09 March 2024 | Accrual | 0.11 | 0.0 | 0.11 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
Then Admin sets back LOAN_CLOSE_OF_BUSINESS workflow to its initial state
|
||||
|
||||
@TestRailId:C3236
|
||||
Scenario: Verify interest recalculation in case of overdue installments: UC11 - 1st installment paid on due date, 2nd installment overdue, interest recalculation: same as repayment period, till preclose
|
||||
Given Admin puts "LOAN_INTEREST_RECALCULATION" business step into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "01 January 2024"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a fully customized loan with the following data:
|
||||
@@ -2455,11 +2434,9 @@ Feature: EMI calculation and repayment schedule checks for interest bearing loan
|
||||
| 01 February 2024 | Accrual | 0.58 | 0.0 | 0.58 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 01 March 2024 | Accrual | 0.49 | 0.0 | 0.49 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 09 March 2024 | Accrual | 0.13 | 0.0 | 0.13 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
Then Admin sets back LOAN_CLOSE_OF_BUSINESS workflow to its initial state
|
||||
|
||||
@TestRailId:C3237
|
||||
Scenario: Verify interest recalculation in case of overdue installments: UC12 - 1st installment paid on due date, 2nd installment overdue, interest recalculation: same as repayment period, till rest frequency date
|
||||
Given Admin puts "LOAN_INTEREST_RECALCULATION" business step into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "01 January 2024"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a fully customized loan with the following data:
|
||||
@@ -2523,11 +2500,9 @@ Feature: EMI calculation and repayment schedule checks for interest bearing loan
|
||||
| 01 February 2024 | Accrual | 0.58 | 0.0 | 0.58 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 01 March 2024 | Accrual | 0.49 | 0.0 | 0.49 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 09 March 2024 | Accrual | 0.13 | 0.0 | 0.13 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
Then Admin sets back LOAN_CLOSE_OF_BUSINESS workflow to its initial state
|
||||
|
||||
@TestRailId:C3238
|
||||
Scenario: Verify interest recalculation in case of overdue installments: UC13 - 1st installment paid on due date, 2nd installment overdue with partial late repayment, interest recalculation: daily, till preclose
|
||||
Given Admin puts "LOAN_INTEREST_RECALCULATION" business step into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "01 January 2024"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a fully customized loan with the following data:
|
||||
@@ -2612,11 +2587,9 @@ Feature: EMI calculation and repayment schedule checks for interest bearing loan
|
||||
| 01 March 2024 | Accrual | 0.49 | 0.0 | 0.49 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 05 March 2024 | Repayment | 10.0 | 10.0 | 0.0 | 0.0 | 0.0 | 73.57 | false | false |
|
||||
| 09 March 2024 | Accrual | 0.11 | 0.0 | 0.11 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
Then Admin sets back LOAN_CLOSE_OF_BUSINESS workflow to its initial state
|
||||
|
||||
@TestRailId:C3239
|
||||
Scenario: Verify interest recalculation in case of overdue installments: UC14 - 1st installment paid on due date, 2nd installment overdue with partial late repayment, interest recalculation: daily, till rest frequency date
|
||||
Given Admin puts "LOAN_INTEREST_RECALCULATION" business step into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "01 January 2024"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a fully customized loan with the following data:
|
||||
@@ -2701,11 +2674,9 @@ Feature: EMI calculation and repayment schedule checks for interest bearing loan
|
||||
| 01 March 2024 | Accrual | 0.49 | 0.0 | 0.49 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 05 March 2024 | Repayment | 10.0 | 10.0 | 0.0 | 0.0 | 0.0 | 73.57 | false | false |
|
||||
| 09 March 2024 | Accrual | 0.11 | 0.0 | 0.11 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
Then Admin sets back LOAN_CLOSE_OF_BUSINESS workflow to its initial state
|
||||
|
||||
@TestRailId:C3240
|
||||
Scenario: Verify interest recalculation in case of overdue installments: UC15 - 1st installment paid on due date, 2nd installment overdue, interest recalculation: same as repayment period, till preclose
|
||||
Given Admin puts "LOAN_INTEREST_RECALCULATION" business step into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "01 January 2024"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a fully customized loan with the following data:
|
||||
@@ -2790,11 +2761,9 @@ Feature: EMI calculation and repayment schedule checks for interest bearing loan
|
||||
| 01 March 2024 | Accrual | 0.49 | 0.0 | 0.49 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 05 March 2024 | Repayment | 10.0 | 10.0 | 0.0 | 0.0 | 0.0 | 73.57 | false | false |
|
||||
| 09 March 2024 | Accrual | 0.13 | 0.0 | 0.13 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
Then Admin sets back LOAN_CLOSE_OF_BUSINESS workflow to its initial state
|
||||
|
||||
@TestRailId:C3241
|
||||
Scenario: Verify interest recalculation in case of overdue installments: UC16 - 1st installment paid on due date, 2nd installment overdue, interest recalculation: same as repayment period, till rest frequency date
|
||||
Given Admin puts "LOAN_INTEREST_RECALCULATION" business step into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "01 January 2024"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a fully customized loan with the following data:
|
||||
@@ -2879,7 +2848,6 @@ Feature: EMI calculation and repayment schedule checks for interest bearing loan
|
||||
| 01 March 2024 | Accrual | 0.49 | 0.0 | 0.49 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 05 March 2024 | Repayment | 10.0 | 10.0 | 0.0 | 0.0 | 0.0 | 73.57 | false | false |
|
||||
| 09 March 2024 | Accrual | 0.13 | 0.0 | 0.13 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
Then Admin sets back LOAN_CLOSE_OF_BUSINESS workflow to its initial state
|
||||
|
||||
@TestRailId:C3244
|
||||
Scenario: Verify support of interest rate calculation with frequency Whole term configured for progressive loan
|
||||
@@ -3266,7 +3234,6 @@ Feature: EMI calculation and repayment schedule checks for interest bearing loan
|
||||
# TODO unskip and check when PS-2076 and PS-2106 is done
|
||||
@Skip @TestRailId:C3251
|
||||
Scenario: Verify Interest recalculation - EARLY repayment, adjust NEXT installment - UC1: 360/30, early repayment with amount less then due interest
|
||||
Given Admin puts "LOAN_INTEREST_RECALCULATION" business step into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "01 January 2024"
|
||||
When Admin creates a client with random data
|
||||
When Admin set "LP2_ADV_PYMNT_INTEREST_DAILY_EMI_360_30_INTEREST_RECALCULATION_DAILY_TILL_PRECLOSE_PMT_ALLOC_1" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule
|
||||
@@ -3324,12 +3291,10 @@ Feature: EMI calculation and repayment schedule checks for interest bearing loan
|
||||
| 13 January 2024 | Accrual | 0.01 | 0.0 | 0.01 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 14 January 2024 | Accrual | 0.02 | 0.0 | 0.02 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 15 January 2024 | Repayment | 0.2 | 0.0 | 0.2 | 0.0 | 0.0 | 100.0 | false | false |
|
||||
Then Admin sets back LOAN_CLOSE_OF_BUSINESS workflow to its initial state
|
||||
|
||||
# TODO unskip and check when PS-2076 and PS-2106 is done
|
||||
@Skip @TestRailId:C3252
|
||||
Scenario: Verify Interest recalculation - EARLY repayment, adjust NEXT installment - UC2: 360/30, early repayment with amount 1 cent more then due interest
|
||||
Given Admin puts "LOAN_INTEREST_RECALCULATION" business step into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "01 January 2024"
|
||||
When Admin creates a client with random data
|
||||
When Admin set "LP2_ADV_PYMNT_INTEREST_DAILY_EMI_360_30_INTEREST_RECALCULATION_DAILY_TILL_PRECLOSE_PMT_ALLOC_1" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule
|
||||
@@ -3387,12 +3352,10 @@ Feature: EMI calculation and repayment schedule checks for interest bearing loan
|
||||
| 13 January 2024 | Accrual | 0.01 | 0.0 | 0.01 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 14 January 2024 | Accrual | 0.02 | 0.0 | 0.02 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 15 January 2024 | Repayment | 0.27 | 0.01 | 0.26 | 0.0 | 0.0 | 99.99 | false | false |
|
||||
Then Admin sets back LOAN_CLOSE_OF_BUSINESS workflow to its initial state
|
||||
|
||||
# TODO unskip and check when PS-2076 and PS-2106 is done
|
||||
@Skip @TestRailId:C3253
|
||||
Scenario: Verify Interest recalculation - EARLY repayment, adjust NEXT installment - UC3: 360/30, early repayment with less than EMI amount
|
||||
Given Admin puts "LOAN_INTEREST_RECALCULATION" business step into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "01 January 2024"
|
||||
When Admin creates a client with random data
|
||||
When Admin set "LP2_ADV_PYMNT_INTEREST_DAILY_EMI_360_30_INTEREST_RECALCULATION_DAILY_TILL_PRECLOSE_PMT_ALLOC_1" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule
|
||||
@@ -3450,12 +3413,10 @@ Feature: EMI calculation and repayment schedule checks for interest bearing loan
|
||||
| 13 January 2024 | Accrual | 0.02 | 0.0 | 0.02 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 14 January 2024 | Accrual | 0.01 | 0.0 | 0.01 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 15 January 2024 | Repayment | 15.0 | 14.74 | 0.26 | 0.0 | 0.0 | 85.26 | false | false |
|
||||
Then Admin sets back LOAN_CLOSE_OF_BUSINESS workflow to its initial state
|
||||
|
||||
# TODO unskip and check when PS-2076 and PS-2106 is done
|
||||
@Skip @TestRailId:C3254
|
||||
Scenario: Verify Interest recalculation - EARLY repayment, adjust NEXT installment - UC4: 360/30, early repayment with only 1 cent less than EMI amount
|
||||
Given Admin puts "LOAN_INTEREST_RECALCULATION" business step into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "01 January 2024"
|
||||
When Admin creates a client with random data
|
||||
When Admin set "LP2_ADV_PYMNT_INTEREST_DAILY_EMI_360_30_INTEREST_RECALCULATION_DAILY_TILL_PRECLOSE_PMT_ALLOC_1" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule
|
||||
@@ -3511,12 +3472,10 @@ Feature: EMI calculation and repayment schedule checks for interest bearing loan
|
||||
| 13 January 2024 | Accrual | 0.01 | 0.0 | 0.01 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 14 January 2024 | Accrual | 0.01 | 0.0 | 0.01 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 15 January 2024 | Repayment | 17.0 | 16.74 | 0.26 | 0.0 | 0.0 | 83.26 | false | false |
|
||||
Then Admin sets back LOAN_CLOSE_OF_BUSINESS workflow to its initial state
|
||||
|
||||
# TODO unskip and check when PS-2076 and PS-2106 is done
|
||||
@Skip @TestRailId:C3255
|
||||
Scenario: Verify Interest recalculation - EARLY repayment, adjust NEXT installment - UC5: 360/30, multiple early repayments for the same installment
|
||||
Given Admin puts "LOAN_INTEREST_RECALCULATION" business step into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "01 January 2024"
|
||||
When Admin creates a client with random data
|
||||
When Admin set "LP2_ADV_PYMNT_INTEREST_DAILY_EMI_360_30_INTEREST_RECALCULATION_DAILY_TILL_PRECLOSE_PMT_ALLOC_1" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule
|
||||
@@ -3578,12 +3537,10 @@ Feature: EMI calculation and repayment schedule checks for interest bearing loan
|
||||
| 13 January 2024 | Accrual | 0.02 | 0.0 | 0.02 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 15 January 2024 | Repayment | 15.0 | 14.74 | 0.26 | 0.0 | 0.0 | 85.26 | false | false |
|
||||
| 20 January 2024 | Repayment | 2.01 | 1.93 | 0.08 | 0.0 | 0.0 | 83.33 | false | false |
|
||||
Then Admin sets back LOAN_CLOSE_OF_BUSINESS workflow to its initial state
|
||||
|
||||
# TODO unskip and check when PS-2076 and PS-2106 is done
|
||||
@Skip @TestRailId:C3256
|
||||
Scenario: Verify Interest recalculation - EARLY repayment, adjust NEXT installment - UC6: 360/30, early repayment with exact EMI amount
|
||||
Given Admin puts "LOAN_INTEREST_RECALCULATION" business step into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "01 January 2024"
|
||||
When Admin creates a client with random data
|
||||
When Admin set "LP2_ADV_PYMNT_INTEREST_DAILY_EMI_360_30_INTEREST_RECALCULATION_DAILY_TILL_PRECLOSE_PMT_ALLOC_1" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule
|
||||
@@ -3639,12 +3596,10 @@ Feature: EMI calculation and repayment schedule checks for interest bearing loan
|
||||
| 13 January 2024 | Accrual | 0.01 | 0.0 | 0.01 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 14 January 2024 | Accrual | 0.01 | 0.0 | 0.01 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 15 January 2024 | Repayment | 17.01 | 16.75 | 0.26 | 0.0 | 0.0 | 83.25 | false | false |
|
||||
Then Admin sets back LOAN_CLOSE_OF_BUSINESS workflow to its initial state
|
||||
|
||||
# TODO unskip and check when PS-2076 and PS-2106 is done
|
||||
@Skip @TestRailId:C3257
|
||||
Scenario: Verify Interest recalculation - EARLY repayment, adjust NEXT installment - UC7: 360/30, early repayment with twice than EMI amount
|
||||
Given Admin puts "LOAN_INTEREST_RECALCULATION" business step into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "01 January 2024"
|
||||
When Admin creates a client with random data
|
||||
When Admin set "LP2_ADV_PYMNT_INTEREST_DAILY_EMI_360_30_INTEREST_RECALCULATION_DAILY_TILL_PRECLOSE_PMT_ALLOC_1" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule
|
||||
@@ -3689,12 +3644,10 @@ Feature: EMI calculation and repayment schedule checks for interest bearing loan
|
||||
| Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed |
|
||||
| 01 January 2024 | Disbursement | 100.0 | 0.0 | 0.0 | 0.0 | 0.0 | 100.0 | false | false |
|
||||
| 15 January 2024 | Repayment | 34.02 | 33.76 | 0.26 | 0.0 | 0.0 | 66.24 | false | false |
|
||||
Then Admin sets back LOAN_CLOSE_OF_BUSINESS workflow to its initial state
|
||||
|
||||
# TODO unskip and check when PS-2076 and PS-2106 is done
|
||||
@Skip @TestRailId:C3258
|
||||
Scenario: Verify Interest recalculation - EARLY repayment, adjust NEXT installment - UC8: 360/30, preclose after early repayment
|
||||
Given Admin puts "LOAN_INTEREST_RECALCULATION" business step into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "01 January 2024"
|
||||
When Admin creates a client with random data
|
||||
When Admin set "LP2_ADV_PYMNT_INTEREST_DAILY_EMI_360_30_INTEREST_RECALCULATION_DAILY_TILL_PRECLOSE_PMT_ALLOC_1" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule
|
||||
@@ -3744,13 +3697,11 @@ Feature: EMI calculation and repayment schedule checks for interest bearing loan
|
||||
| 01 January 2024 | Disbursement | 100.0 | 0.0 | 0.0 | 0.0 | 0.0 | 100.0 | false | false |
|
||||
| 15 January 2024 | Repayment | 17.01 | 16.75 | 0.26 | 0.0 | 0.0 | 83.25 | false | false |
|
||||
| 20 January 2024 | Repayment | 83.33 | 83.25 | 0.08 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
Then Admin sets back LOAN_CLOSE_OF_BUSINESS workflow to its initial state
|
||||
|
||||
# TODO unskip and check when PS-2076 and PS-2106 is done
|
||||
# TODO is it till preclose or tillrestperiod?
|
||||
@Skip @TestRailId:C3259
|
||||
Scenario: Verify Interest recalculation - EARLY repayment, adjust NEXT installment - UC9: 360/30, interest modification after early repayment
|
||||
Given Admin puts "LOAN_INTEREST_RECALCULATION" business step into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "01 January 2024"
|
||||
When Admin creates a client with random data
|
||||
When Admin set "LP2_ADV_PYMNT_INTEREST_DAILY_EMI_360_30_INTEREST_RECALCULATION_DAILY_TILL_PRECLOSE_PMT_ALLOC_1" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule
|
||||
@@ -3800,7 +3751,6 @@ Feature: EMI calculation and repayment schedule checks for interest bearing loan
|
||||
| Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed |
|
||||
| 01 January 2024 | Disbursement | 100.0 | 0.0 | 0.0 | 0.0 | 0.0 | 100.0 | false | false |
|
||||
| 15 January 2024 | Repayment | 17.01 | 16.75 | 0.26 | 0.0 | 0.0 | 83.25 | false | false |
|
||||
Then Admin sets back LOAN_CLOSE_OF_BUSINESS workflow to its initial state
|
||||
|
||||
@TestRailId:C3269
|
||||
Scenario: UC1 - Single disbursement, full refund within first installment period
|
||||
@@ -4383,7 +4333,6 @@ Feature: EMI calculation and repayment schedule checks for interest bearing loan
|
||||
|
||||
@TestRailId:C3288
|
||||
Scenario: Verify the recalculated EMI after interest rate change on the repayment schedule
|
||||
Given Admin puts "LOAN_INTEREST_RECALCULATION" business step into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "01 January 2024"
|
||||
When Admin creates a client with random data
|
||||
When Admin set "LP2_ADV_PYMNT_INTEREST_DAILY_EMI_360_30_INTEREST_RECALCULATION_DAILY_TILL_PRECLOSE" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule
|
||||
@@ -4404,8 +4353,7 @@ Feature: EMI calculation and repayment schedule checks for interest bearing loan
|
||||
When Admin runs inline COB job for Loan
|
||||
When Admin sets the business date to "02 February 2024"
|
||||
When Admin runs inline COB job for Loan
|
||||
Then Admin sets back LOAN_CLOSE_OF_BUSINESS workflow to its initial state
|
||||
Then Loan Repayment schedule has 6 periods, with the following data for periods:
|
||||
Then Loan Repayment schedule has 6 periods, with the following data for periods:
|
||||
| Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding |
|
||||
| | | 01 January 2024 | | 100.0 | | | 0.0 | | 0.0 | 0.0 | | | |
|
||||
| 1 | 31 | 01 February 2024 | 01 February 2024 | 83.57 | 16.43 | 0.58 | 0.0 | 0.0 | 17.01 | 17.01 | 0.0 | 0.0 | 0.0 |
|
||||
@@ -4735,7 +4683,6 @@ Feature: EMI calculation and repayment schedule checks for interest bearing loan
|
||||
|
||||
@TestRailId:C3297
|
||||
Scenario: Verify the Loan reschedule - Interest modification - UC1: Interest modification after early payment with Adjustment to NEXT installment
|
||||
Given Admin puts "LOAN_INTEREST_RECALCULATION" business step into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "01 January 2024"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a fully customized loan with the following data:
|
||||
@@ -4785,8 +4732,7 @@ Feature: EMI calculation and repayment schedule checks for interest bearing loan
|
||||
When Admin runs inline COB job for Loan
|
||||
When Admin sets the business date to "20 January 2024"
|
||||
When Admin runs inline COB job for Loan
|
||||
Then Admin sets back LOAN_CLOSE_OF_BUSINESS workflow to its initial state
|
||||
Then Loan Repayment schedule has 6 periods, with the following data for periods:
|
||||
Then Loan Repayment schedule has 6 periods, with the following data for periods:
|
||||
| Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding |
|
||||
| | | 01 January 2024 | | 100.0 | | | 0.0 | | 0.0 | 0.0 | | | |
|
||||
| 1 | 31 | 01 February 2024 | 15 January 2024 | 83.25 | 16.75 | 0.26 | 0.0 | 0.0 | 17.01 | 17.01 | 17.01 | 0.0 | 0.0 |
|
||||
@@ -4807,7 +4753,6 @@ Feature: EMI calculation and repayment schedule checks for interest bearing loan
|
||||
|
||||
@TestRailId:C3298
|
||||
Scenario: Verify the Loan reschedule - Interest modification - UC2: Interest modification after early partial payment with Adjustment to NEXT installment
|
||||
Given Admin puts "LOAN_INTEREST_RECALCULATION" business step into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "01 January 2024"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a fully customized loan with the following data:
|
||||
@@ -4857,8 +4802,7 @@ Feature: EMI calculation and repayment schedule checks for interest bearing loan
|
||||
When Admin runs inline COB job for Loan
|
||||
When Admin sets the business date to "20 January 2024"
|
||||
When Admin runs inline COB job for Loan
|
||||
Then Admin sets back LOAN_CLOSE_OF_BUSINESS workflow to its initial state
|
||||
Then Loan Repayment schedule has 6 periods, with the following data for periods:
|
||||
Then Loan Repayment schedule has 6 periods, with the following data for periods:
|
||||
| Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding |
|
||||
| | | 01 January 2024 | | 100.0 | | | 0.0 | | 0.0 | 0.0 | | | |
|
||||
| 1 | 31 | 01 February 2024 | | 83.24 | 16.76 | 0.25 | 0.0 | 0.0 | 17.01 | 17.0 | 17.0 | 0.0 | 0.01 |
|
||||
@@ -4879,7 +4823,6 @@ Feature: EMI calculation and repayment schedule checks for interest bearing loan
|
||||
|
||||
@TestRailId:C3311
|
||||
Scenario: Verify the Loan reschedule - Interest modification - UC2: Interest modification after early partial payment with Adjustment to LAST installment
|
||||
Given Admin puts "LOAN_INTEREST_RECALCULATION" business step into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "01 January 2024"
|
||||
When Admin creates a client with random data
|
||||
When Admin set "LP2_ADV_PYMNT_INTEREST_DAILY_EMI_360_30_INTEREST_RECALCULATION_DAILY_TILL_PRECLOSE" loan product "DEFAULT" transaction type to "LAST_INSTALLMENT" future installment allocation rule
|
||||
@@ -4930,8 +4873,7 @@ Feature: EMI calculation and repayment schedule checks for interest bearing loan
|
||||
When Admin runs inline COB job for Loan
|
||||
When Admin sets the business date to "20 January 2024"
|
||||
When Admin runs inline COB job for Loan
|
||||
Then Admin sets back LOAN_CLOSE_OF_BUSINESS workflow to its initial state
|
||||
Then Loan Repayment schedule has 6 periods, with the following data for periods:
|
||||
Then Loan Repayment schedule has 6 periods, with the following data for periods:
|
||||
| Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding |
|
||||
| | | 01 January 2024 | | 100.0 | | | 0.0 | | 0.0 | 0.0 | | | |
|
||||
| 1 | 31 | 01 February 2024 | | 83.64 | 16.36 | 0.44 | 0.0 | 0.0 | 16.8 | 0.0 | 0.0 | 0.0 | 16.8 |
|
||||
@@ -4953,7 +4895,6 @@ Feature: EMI calculation and repayment schedule checks for interest bearing loan
|
||||
|
||||
@TestRailId:C3299
|
||||
Scenario: Verify the Loan reschedule - Interest modification - UC2: Interest modification after first installment with Adjustment to NEXT installment
|
||||
Given Admin puts "LOAN_INTEREST_RECALCULATION" business step into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "01 January 2024"
|
||||
When Admin creates a client with random data
|
||||
When Admin set "LP2_ADV_PYMNT_INTEREST_DAILY_EMI_360_30_INTEREST_RECALCULATION_DAILY_TILL_PRECLOSE" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule
|
||||
@@ -5004,7 +4945,6 @@ Feature: EMI calculation and repayment schedule checks for interest bearing loan
|
||||
When Admin runs inline COB job for Loan
|
||||
When Admin sets the business date to "16 February 2024"
|
||||
When Admin runs inline COB job for Loan
|
||||
Then Admin sets back LOAN_CLOSE_OF_BUSINESS workflow to its initial state
|
||||
Then Loan Repayment schedule has 6 periods, with the following data for periods:
|
||||
| Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding |
|
||||
| | | 01 January 2024 | | 100.0 | | | 0.0 | | 0.0 | 0.0 | | | |
|
||||
@@ -5164,4 +5104,4 @@ Feature: EMI calculation and repayment schedule checks for interest bearing loan
|
||||
| 22 January 2021 | Interest Refund | 5.7 | 0.0 | 5.7 | 0.0 | 0.0 | 0.0 | true | false |
|
||||
| 22 January 2021 | Accrual | 5.7 | 0.0 | 5.7 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
Then In Loan Transactions the "2"th Transaction has Transaction type="Merchant Issued Refund" and is reverted
|
||||
Then In Loan Transactions the "3"th Transaction has Transaction type="Interest Refund" and is reverted
|
||||
Then In Loan Transactions the "3"th Transaction has Transaction type="Interest Refund" and is reverted
|
||||
|
||||
@@ -6062,7 +6062,6 @@ Feature: Loan
|
||||
And Admin successfully approves the loan on "1 January 2024" with "100" amount and expected disbursement date on "1 January 2024"
|
||||
When Admin successfully disburse the loan on "1 January 2024" with "100" EUR transaction amount
|
||||
When Admin sets the business date to "15 July 2024"
|
||||
When Admin puts "LOAN_INTEREST_RECALCULATION" business step into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin runs inline COB job for Loan
|
||||
Then Loan Repayment schedule has 6 periods, with the following data for periods:
|
||||
| Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding |
|
||||
@@ -6073,7 +6072,6 @@ Feature: Loan
|
||||
| 4 | 30 | 01 May 2024 | | 34.28 | 16.43 | 0.58 | 0.0 | 0.0 | 17.01 | 0.0 | 0.0 | 0.0 | 17.01 |
|
||||
| 5 | 31 | 01 June 2024 | | 17.85 | 16.43 | 0.58 | 0.0 | 0.0 | 17.01 | 0.0 | 0.0 | 0.0 | 17.01 |
|
||||
| 6 | 30 | 01 July 2024 | | 0.0 | 17.85 | 0.58 | 0.0 | 0.0 | 18.43 | 0.0 | 0.0 | 0.0 | 18.43 |
|
||||
When Admin removes "LOAN_INTEREST_RECALCULATION" business step into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
|
||||
Scenario: Interest recalculation - S2 2 overdue
|
||||
Given Global configuration "enable-business-date" is enabled
|
||||
@@ -6085,7 +6083,6 @@ Feature: Loan
|
||||
And Admin successfully approves the loan on "1 January 2024" with "100" amount and expected disbursement date on "1 January 2024"
|
||||
When Admin successfully disburse the loan on "1 January 2024" with "100" EUR transaction amount
|
||||
When Admin sets the business date to "10 March 2024"
|
||||
When Admin puts "LOAN_INTEREST_RECALCULATION" business step into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin runs inline COB job for Loan
|
||||
Then Loan Repayment schedule has 6 periods, with the following data for periods:
|
||||
| Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding |
|
||||
@@ -6096,7 +6093,6 @@ Feature: Loan
|
||||
| 4 | 30 | 01 May 2024 | | 33.87 | 16.71 | 0.3 | 0.0 | 0.0 | 17.01 | 0.0 | 0.0 | 0.0 | 17.01 |
|
||||
| 5 | 31 | 01 June 2024 | | 17.06 | 16.81 | 0.2 | 0.0 | 0.0 | 17.01 | 0.0 | 0.0 | 0.0 | 17.01 |
|
||||
| 6 | 30 | 01 July 2024 | | 0.0 | 17.06 | 0.1 | 0.0 | 0.0 | 17.16 | 0.0 | 0.0 | 0.0 | 17.16 |
|
||||
When Admin removes "LOAN_INTEREST_RECALCULATION" business step into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
|
||||
Scenario: Interest recalculation - S3 1 paid, 1 overdue
|
||||
Given Global configuration "enable-business-date" is enabled
|
||||
@@ -6110,7 +6106,6 @@ Feature: Loan
|
||||
When Admin sets the business date to "1 February 2024"
|
||||
And Customer makes "AUTOPAY" repayment on "01 February 2024" with 17.01 EUR transaction amount
|
||||
When Admin sets the business date to "10 March 2024"
|
||||
When Admin puts "LOAN_INTEREST_RECALCULATION" business step into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin runs inline COB job for Loan
|
||||
Then Loan Repayment schedule has 6 periods, with the following data for periods:
|
||||
| Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding |
|
||||
@@ -6121,7 +6116,6 @@ Feature: Loan
|
||||
| 4 | 30 | 01 May 2024 | | 33.74 | 16.72 | 0.29 | 0.0 | 0.0 | 17.01 | 0.0 | 0.0 | 0.0 | 17.01 |
|
||||
| 5 | 31 | 01 June 2024 | | 16.93 | 16.81 | 0.2 | 0.0 | 0.0 | 17.01 | 0.0 | 0.0 | 0.0 | 17.01 |
|
||||
| 6 | 30 | 01 July 2024 | | 0.0 | 16.93 | 0.1 | 0.0 | 0.0 | 17.03 | 0.0 | 0.0 | 0.0 | 17.03 |
|
||||
When Admin removes "LOAN_INTEREST_RECALCULATION" business step into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
|
||||
Scenario: Loan Details Emi Amount Variations - AssociationsAll
|
||||
Given Global configuration "is-interest-to-be-recovered-first-when-greater-than-emi" is enabled
|
||||
|
||||
@@ -1778,12 +1778,12 @@ Feature: LoanAccrualActivity
|
||||
| Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding |
|
||||
| | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | |
|
||||
| 1 | 5 | 06 January 2024 | | 750.64 | 249.36 | 1.64 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 |
|
||||
| 2 | 5 | 11 January 2024 | | 500.87 | 249.77 | 1.23 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 |
|
||||
| 3 | 5 | 16 January 2024 | | 250.69 | 250.18 | 0.82 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 |
|
||||
| 4 | 5 | 21 January 2024 | | 0.0 | 250.69 | 0.41 | 0.0 | 0.0 | 251.1 | 0.0 | 0.0 | 0.0 | 251.1 |
|
||||
| 2 | 5 | 11 January 2024 | | 500.96 | 249.68 | 1.32 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 |
|
||||
| 3 | 5 | 16 January 2024 | | 250.78 | 250.18 | 0.82 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 |
|
||||
| 4 | 5 | 21 January 2024 | | 0.0 | 250.78 | 0.41 | 0.0 | 0.0 | 251.19| 0.0 | 0.0 | 0.0 | 251.19 |
|
||||
Then Loan Repayment schedule has the following data in Total row:
|
||||
| Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding |
|
||||
| 1000.0 | 4.1 | 0.0 | 0.0 | 1004.1 | 0.0 | 0.0 | 0.0 | 1004.1 |
|
||||
| 1000.0 | 4.19 | 0.0 | 0.0 | 1004.19| 0.0 | 0.0 | 0.0 | 1004.19 |
|
||||
Then Loan Transactions tab has the following data:
|
||||
| Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed |
|
||||
| 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | false | false |
|
||||
@@ -1866,12 +1866,12 @@ Feature: LoanAccrualActivity
|
||||
| Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding |
|
||||
| | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | |
|
||||
| 1 | 5 | 06 January 2024 | | 750.5 | 249.5 | 1.5 | 0.0 | 0.0 | 251.0 | 150.0 | 150.0 | 0.0 | 101.0 |
|
||||
| 2 | 5 | 11 January 2024 | | 500.73 | 249.77 | 1.23 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 |
|
||||
| 3 | 5 | 16 January 2024 | | 250.55 | 250.18 | 0.82 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 |
|
||||
| 4 | 5 | 21 January 2024 | | 0.0 | 250.55 | 0.41 | 0.0 | 0.0 | 250.96 | 0.0 | 0.0 | 0.0 | 250.96 |
|
||||
| 2 | 5 | 11 January 2024 | | 500.77 | 249.73 | 1.27 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 |
|
||||
| 3 | 5 | 16 January 2024 | | 250.59 | 250.18 | 0.82 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 |
|
||||
| 4 | 5 | 21 January 2024 | | 0.0 | 250.59 | 0.41 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 |
|
||||
Then Loan Repayment schedule has the following data in Total row:
|
||||
| Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding |
|
||||
| 1000.0 | 3.96 | 0.0 | 0.0 | 1003.96 | 150.0 | 150.0 | 0.0 | 853.96 |
|
||||
| 1000.0 | 4.0 | 0.0 | 0.0 | 1004.0 | 150.0 | 150.0 | 0.0 | 854.0 |
|
||||
Then Loan Transactions tab has the following data:
|
||||
| Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed |
|
||||
| 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | false | false |
|
||||
@@ -1928,12 +1928,12 @@ Feature: LoanAccrualActivity
|
||||
| Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding |
|
||||
| | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | |
|
||||
| 1 | 5 | 06 January 2024 | | 750.5 | 249.5 | 1.5 | 0.0 | 0.0 | 251.0 | 150.0 | 150.0 | 0.0 | 101.0 |
|
||||
| 2 | 5 | 11 January 2024 | | 500.73 | 249.77 | 1.23 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 |
|
||||
| 3 | 5 | 16 January 2024 | | 250.55 | 250.18 | 0.82 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 |
|
||||
| 4 | 5 | 21 January 2024 | | 0.0 | 250.55 | 0.41 | 0.0 | 0.0 | 250.96 | 0.0 | 0.0 | 0.0 | 250.96 |
|
||||
| 2 | 5 | 11 January 2024 | | 500.77 | 249.73 | 1.27 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 |
|
||||
| 3 | 5 | 16 January 2024 | | 250.59 | 250.18 | 0.82 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 |
|
||||
| 4 | 5 | 21 January 2024 | | 0.0 | 250.59 | 0.41 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 |
|
||||
Then Loan Repayment schedule has the following data in Total row:
|
||||
| Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding |
|
||||
| 1000.0 | 3.96 | 0.0 | 0.0 | 1003.96 | 150.0 | 150.0 | 0.0 | 853.96 |
|
||||
| 1000.0 | 4.0 | 0.0 | 0.0 | 1004.0 | 150.0 | 150.0 | 0.0 | 854.0 |
|
||||
Then Loan Transactions tab has the following data:
|
||||
| Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed |
|
||||
| 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | false | false |
|
||||
|
||||
+6
-6
@@ -916,16 +916,16 @@ Feature: LoanAccrualTransaction
|
||||
| Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding |
|
||||
| | | 05 April 2024 | | 500.0 | | | 0.0 | | 0.0 | 0.0 | | | |
|
||||
| 1 | 15 | 20 April 2024 | | 334.47 | 165.53 | 2.47 | 0.0 | 0.0 | 168.0 | 0.0 | 0.0 | 0.0 | 168.0 |
|
||||
| 2 | 15 | 05 May 2024 | | 168.12 | 166.35 | 1.65 | 0.0 | 0.0 | 168.0 | 0.0 | 0.0 | 0.0 | 168.0 |
|
||||
| 3 | 15 | 20 May 2024 | | 0.0 | 168.12 | 0.83 | 0.0 | 0.0 | 168.95 | 0.0 | 0.0 | 0.0 | 168.95 |
|
||||
| 2 | 15 | 05 May 2024 | | 168.94 | 165.53 | 2.47 | 0.0 | 0.0 | 168.0 | 0.0 | 0.0 | 0.0 | 168.0 |
|
||||
| 3 | 15 | 20 May 2024 | | 0.0 | 168.94 | 0.83 | 0.0 | 0.0 | 169.77 | 0.0 | 0.0 | 0.0 | 169.77 |
|
||||
Then Loan Transactions tab has the following data:
|
||||
| Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance |
|
||||
| 05 April 2024 | Disbursement | 500.0 | 0.0 | 0.0 | 0.0 | 0.0 | 500.0 |
|
||||
| 24 April 2024 | Accrual | 2.47 | 0.0 | 2.47 | 0.0 | 0.0 | 0.0 |
|
||||
| 24 April 2024 | Accrual | 0.44 | 0.0 | 0.44 | 0.0 | 0.0 | 0.0 |
|
||||
| 24 April 2024 | Accrual | 0.66 | 0.0 | 0.66 | 0.0 | 0.0 | 0.0 |
|
||||
| 25 April 2024 | Accrual | 2.47 | 0.0 | 2.47 | 0.0 | 0.0 | 0.0 |
|
||||
Then Loan Repayment schedule has the following data in Total row:
|
||||
| Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding |
|
||||
| 500.0 | 4.95 | 0.0 | 0.0 | 504.95 | 0.0 | 0.0 | 0.0 | 504.95 |
|
||||
| 500.0 | 5.77 | 0.0 | 0.0 | 505.77 | 0.0 | 0.0 | 0.0 | 505.77 |
|
||||
When Admin sets the business date to "26 April 2024"
|
||||
And Admin successfully disburse the loan on "26 April 2024" with "500" EUR transaction amount
|
||||
Then Loan Repayment schedule has 3 periods, with the following data for periods:
|
||||
@@ -938,7 +938,7 @@ Feature: LoanAccrualTransaction
|
||||
Then Loan Transactions tab has the following data:
|
||||
| Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance |
|
||||
| 05 April 2024 | Disbursement | 500.0 | 0.0 | 0.0 | 0.0 | 0.0 | 500.0 |
|
||||
| 24 April 2024 | Accrual | 1.05 | 0.0 | 1.05 | 0.0 | 0.0 | 0.0 |
|
||||
| 25 April 2024 | Accrual | 2.47 | 0.0 | 2.47 | 0.0 | 0.0 | 0.0 |
|
||||
| 26 April 2024 | Disbursement | 500.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 |
|
||||
| 26 April 2024 | Accrual | 2.47 | 0.0 | 2.47 | 0.0 | 0.0 | 0.0 |
|
||||
Then Loan Repayment schedule has the following data in Total row:
|
||||
|
||||
@@ -3501,7 +3501,6 @@ Feature: LoanRepayment
|
||||
|
||||
@TestRailId:C3224
|
||||
Scenario: Verify that interest recalculation works properly when triggered by COB
|
||||
Given Admin puts "LOAN_INTEREST_RECALCULATION" business step into LOAN_CLOSE_OF_BUSINESS workflow
|
||||
When Admin sets the business date to "01 April 2024"
|
||||
When Admin creates a client with random data
|
||||
When Admin creates a fully customized loan with the following data:
|
||||
@@ -3549,7 +3548,6 @@ Feature: LoanRepayment
|
||||
| Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance |
|
||||
| 05 April 2024 | Disbursement | 500.0 | 0.0 | 0.0 | 0.0 | 0.0 | 500.0 |
|
||||
| 20 April 2024 | Accrual | 2.47 | 0.0 | 2.47 | 0.0 | 0.0 | 0.0 |
|
||||
Then Admin sets back LOAN_CLOSE_OF_BUSINESS workflow to its initial state
|
||||
|
||||
@TestRailId:C3225
|
||||
Scenario: Verify that payment allocation is correct in case of fee charged on an OVERPAID Loan and payment is backdated
|
||||
|
||||
+5
-1
@@ -22,6 +22,7 @@ package org.apache.fineract.infrastructure.core.config;
|
||||
import java.security.SecureRandom;
|
||||
import java.security.cert.CertificateException;
|
||||
import java.security.cert.X509Certificate;
|
||||
import java.time.Duration;
|
||||
import javax.net.ssl.HostnameVerifier;
|
||||
import javax.net.ssl.SSLContext;
|
||||
import javax.net.ssl.TrustManager;
|
||||
@@ -41,7 +42,10 @@ public class OkHttp3Config {
|
||||
|
||||
@Bean
|
||||
public OkHttpClient okHttpClient() throws Exception {
|
||||
var okBuilder = new OkHttpClient.Builder();
|
||||
var okBuilder = new OkHttpClient.Builder()//
|
||||
.connectTimeout(Duration.ofSeconds(fineractProperties.getClientConnectTimeout()))//
|
||||
.readTimeout(Duration.ofSeconds(fineractProperties.getClientReadTimeout()))//
|
||||
.writeTimeout(Duration.ofSeconds(fineractProperties.getClientWriteTimeout())); //
|
||||
|
||||
if (Boolean.TRUE.equals(fineractProperties.getInsecureHttpClient())) {
|
||||
final X509TrustManager insecureX509TrustManager = new X509TrustManager() {
|
||||
|
||||
@@ -181,6 +181,9 @@ fineract.sampling.resetPeriodSec=${FINERACT_SAMPLING_RESET_PERIOD_IN_SEC:60}
|
||||
fineract.module.investor.enabled=${FINERACT_MODULE_INVESTOR_ENABLED:true}
|
||||
|
||||
fineract.insecure-http-client=${FINERACT_INSECURE_HTTP_CLIENT:true}
|
||||
fineract.client-connect-timeout=${FINERACT_CLIENT_CONNECT_TIMEOUT:30}
|
||||
fineract.client-read-timeout=${FINERACT_CLIENT_READ_TIMEOUT:30}
|
||||
fineract.client-write-timeout=${FINERACT_CLIENT_WRITE_TIMEOUT:30}
|
||||
|
||||
# sql validation
|
||||
|
||||
|
||||
@@ -274,3 +274,7 @@ resilience4j.retry.instances.postInterest.exponential-backoff-multiplier=2
|
||||
resilience4j.retry.instances.postInterest.retryExceptions=org.springframework.dao.CannotAcquireLockException,org.springframework.orm.ObjectOptimisticLockingFailureException
|
||||
|
||||
spring.cloud.aws.region.static=eu-central-1
|
||||
fineract.insecure-http-client=true
|
||||
fineract.client-connect-timeout=30
|
||||
fineract.client-read-timeout=30
|
||||
fineract.client-write-timeout=30
|
||||
|
||||
Reference in New Issue
Block a user