682 lines
82 KiB
Gherkin
682 lines
82 KiB
Gherkin
@LoanRescheduleFeature
|
|
Feature: LoanReschedule
|
|
|
|
|
|
Scenario: As a user I would like to see a loan changed event was triggered when the loan got rescheduled
|
|
When Admin sets the business date to "1 July 2022"
|
|
When Admin creates a client with random data
|
|
And Admin successfully creates a new customised Loan submitted on date: "1 July 2022", with Principal: "5000", a loanTermFrequency: 1 months, and numberOfRepayments: 1
|
|
And Admin successfully approves the loan on "1 July 2022" with "5000" amount and expected disbursement date on "1 July 2022"
|
|
When Admin successfully disburse the loan on "1 July 2022" with "5000" EUR transaction amount
|
|
When Batch API call with steps: rescheduleLoan from "1 August 2022" to "31 August 2022" submitted on date: "1 July 2022", approveReschedule on date: "1 July 2022" runs with enclosingTransaction: "true"
|
|
Then Loan Repayment schedule has 1 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 July 2022 | | 5000.0 | | | 0.0 | | 0.0 | 0.0 | | | |
|
|
| 1 | 61 | 31 August 2022 | | 0.0 | 5000.0 | 0.0 | 0.0 | 0.0 | 5000.0 | 0.0 | 0.0 | 0.0 | 5000.0 |
|
|
|
|
|
|
Scenario: Verify that loan is rescheduled properly in case of: undo disbursement
|
|
When Admin sets the business date to "01 July 2023"
|
|
When Admin creates a client with random data
|
|
When Admin creates a new default Loan with date: "01 July 2023"
|
|
And Admin successfully approves the loan on "01 July 2023" with "1000" amount and expected disbursement date on "01 July 2023"
|
|
And Admin successfully disburse the loan on "01 July 2023" with "1000" EUR transaction amount
|
|
Then Loan Repayment schedule has 1 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 July 2023 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | |
|
|
| 1 | 30 | 31 July 2023 | | 0.0 | 1000.0 | 0.0 | 0.0 | 0.0 | 1000.0 | 0.0 | 0.0 | 0.0 | 1000.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 | 0 | 0 | 1000 | 0 | 0 | 0 | 1000 |
|
|
When Admin sets the business date to "02 July 2023"
|
|
When Admin successfully undo disbursal
|
|
Then Loan Repayment schedule has 1 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 July 2023 | | 1000.0 | | | 0.0 | | 0.0 | | | | 0.0 |
|
|
| 1 | 30 | 31 July 2023 | | 0.0 | 1000.0 | 0.0 | 0.0 | 0.0 | 1000.0 | 0.0 | 0.0 | 0.0 | 1000.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 | 0 | 0 | 1000 | 0 | 0 | 0 | 1000 |
|
|
|
|
|
|
Scenario: Verify that loan is rescheduled properly in case of: multiple disbursement, second disbursement placed within payment period
|
|
When Admin sets the business date to "01 July 2023"
|
|
When Admin creates a client with random data
|
|
When Admin creates a new default Loan with date: "01 July 2023"
|
|
And Admin successfully approves the loan on "01 July 2023" with "1000" amount and expected disbursement date on "01 July 2023"
|
|
And Admin successfully disburse the loan on "01 July 2023" with "500" EUR transaction amount
|
|
Then Loan Repayment schedule has 1 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 July 2023 | | 500.0 | | | 0.0 | | 0.0 | 0.0 | | | |
|
|
| 1 | 30 | 31 July 2023 | | 0.0 | 500.0 | 0.0 | 0.0 | 0.0 | 500.0 | 0.0 | 0.0 | 0.0 | 500.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 | 0 | 0 | 500 | 0 | 0 | 0 | 500 |
|
|
When Admin sets the business date to "10 July 2023"
|
|
And Admin successfully disburse the loan on "10 July 2023" with "500" EUR transaction amount
|
|
Then Loan Repayment schedule has 1 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 July 2023 | | 500.0 | | | 0.0 | | 0.0 | 0.0 | | | |
|
|
| | | 10 July 2023 | | 500.0 | | | 0.0 | | 0.0 | 0.0 | | | |
|
|
| 1 | 30 | 31 July 2023 | | 0.0 | 1000.0 | 0.0 | 0.0 | 0.0 | 1000.0 | 0.0 | 0.0 | 0.0 | 1000.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 | 0 | 0 | 1000 | 0 | 0 | 0 | 1000 |
|
|
|
|
|
|
Scenario: Verify that loan is rescheduled properly in case of: multiple disbursement, second disbursement placed after payment period
|
|
When Admin sets the business date to "01 July 2023"
|
|
When Admin creates a client with random data
|
|
When Admin creates a new default Loan with date: "01 July 2023"
|
|
And Admin successfully approves the loan on "01 July 2023" with "1000" amount and expected disbursement date on "01 July 2023"
|
|
And Admin successfully disburse the loan on "01 July 2023" with "500" EUR transaction amount
|
|
Then Loan Repayment schedule has 1 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 July 2023 | | 500.0 | | | 0.0 | | 0.0 | 0.0 | | | |
|
|
| 1 | 30 | 31 July 2023 | | 0.0 | 500.0 | 0.0 | 0.0 | 0.0 | 500.0 | 0.0 | 0.0 | 0.0 | 500.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 | 0 | 0 | 500 | 0 | 0 | 0 | 500 |
|
|
When Admin sets the business date to "10 August 2023"
|
|
And Admin successfully disburse the loan on "10 August 2023" with "500" EUR transaction amount
|
|
Then Loan Repayment schedule has 2 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 July 2023 | | 500.0 | | | 0.0 | | 0.0 | 0.0 | | | |
|
|
| 1 | 30 | 31 July 2023 | | 0.0 | 500.0 | 0.0 | 0.0 | 0.0 | 500.0 | 0.0 | 0.0 | 0.0 | 500.0 |
|
|
| | | 10 August 2023 | | 500.0 | | | 0.0 | | 0.0 | 0.0 | | | |
|
|
| 2 | 30 | 30 August 2023 | | 0.0 | 500.0 | 0.0 | 0.0 | 0.0 | 500.0 | 0.0 | 0.0 | 0.0 | 500.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 | 0 | 0 | 1000 | 0 | 0 | 0 | 1000 |
|
|
When Admin successfully undo last disbursal
|
|
Then Loan Repayment schedule has 1 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 July 2023 | | 500.0 | | | 0.0 | | 0.0 | 0.0 | | | |
|
|
| 1 | 30 | 31 July 2023 | | 0.0 | 500.0 | 0.0 | 0.0 | 0.0 | 500.0 | 0.0 | 0.0 | 0.0 | 500.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 | 0 | 0 | 500 | 0 | 0 | 0 | 500 |
|
|
|
|
|
|
Scenario: Verify that loan is rescheduled properly in case of: single installment, changing installment date
|
|
When Admin sets the business date to "01 July 2023"
|
|
When Admin creates a client with random data
|
|
When Admin creates a new default Loan with date: "01 July 2023"
|
|
And Admin successfully approves the loan on "01 July 2023" with "1000" amount and expected disbursement date on "01 July 2023"
|
|
And Admin successfully disburse the loan on "01 July 2023" with "1000" EUR transaction amount
|
|
Then Loan Repayment schedule has 1 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 July 2023 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | |
|
|
| 1 | 30 | 31 July 2023 | | 0.0 | 1000.0 | 0.0 | 0.0 | 0.0 | 1000.0 | 0.0 | 0.0 | 0.0 | 1000.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 | 0 | 0 | 1000 | 0 | 0 | 0 | 1000 |
|
|
When Admin sets the business date to "05 July 2023"
|
|
When Admin creates and approves Loan reschedule with the following data:
|
|
| rescheduleFromDate | submittedOnDate | adjustedDueDate | graceOnPrincipal | graceOnInterest | extraTerms | newInterestRate |
|
|
| 31 July 2023 | 05 July 2023 | 31 August 2023 | 0 | 0 | 0 | 0 |
|
|
Then Loan Repayment schedule has 1 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 July 2023 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | |
|
|
| 1 | 61 | 31 August 2023 | | 0.0 | 1000.0 | 0.0 | 0.0 | 0.0 | 1000.0 | 0.0 | 0.0 | 0.0 | 1000.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 | 0 | 0 | 1000 | 0 | 0 | 0 | 1000 |
|
|
|
|
|
|
Scenario: Verify that loan is rescheduled properly in case of: multiple installments, changing installment date
|
|
When Admin sets the business date to "01 July 2023"
|
|
When Admin creates a client with random data
|
|
When Admin creates a fully customized loan with the following data:
|
|
| LoanProduct | submitted on date | with Principal | ANNUAL interest rate % | interest type | interest calculation period | amortization type | loanTermFrequency | loanTermFrequencyType | repaymentEvery | repaymentFrequencyType | numberOfRepayments | graceOnPrincipalPayment | graceOnInterestPayment | interest free period | Payment strategy |
|
|
| LP1 | 01 July 2023 | 3000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 3 | MONTHS | 1 | MONTHS | 3 | 0 | 0 | 0 | PENALTIES_FEES_INTEREST_PRINCIPAL_ORDER |
|
|
And Admin successfully approves the loan on "01 July 2023" with "3000" amount and expected disbursement date on "01 July 2023"
|
|
And Admin successfully disburse the loan on "01 July 2023" with "3000" EUR transaction amount
|
|
Then Loan Repayment schedule has 3 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 July 2023 | | 3000.0 | | | 0.0 | | 0.0 | 0.0 | | | |
|
|
| 1 | 31 | 01 August 2023 | | 2000.0 | 1000.0 | 0.0 | 0.0 | 0.0 | 1000.0 | 0.0 | 0.0 | 0.0 | 1000.0 |
|
|
| 2 | 31 | 01 September 2023 | | 1000.0 | 1000.0 | 0.0 | 0.0 | 0.0 | 1000.0 | 0.0 | 0.0 | 0.0 | 1000.0 |
|
|
| 3 | 30 | 01 October 2023 | | 0.0 | 1000.0 | 0.0 | 0.0 | 0.0 | 1000.0 | 0.0 | 0.0 | 0.0 | 1000.0 |
|
|
Then Loan Repayment schedule has the following data in Total row:
|
|
| Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding |
|
|
| 3000 | 0 | 0 | 0 | 3000 | 0 | 0 | 0 | 3000 |
|
|
When Admin sets the business date to "05 July 2023"
|
|
When Admin creates and approves Loan reschedule with the following data:
|
|
| rescheduleFromDate | submittedOnDate | adjustedDueDate | graceOnPrincipal | graceOnInterest | extraTerms | newInterestRate |
|
|
| 01 September 2023 | 05 July 2023 | 15 September 2023 | 0 | 0 | 0 | 0 |
|
|
Then Loan Repayment schedule has 3 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 July 2023 | | 3000.0 | | | 0.0 | | 0.0 | 0.0 | | | |
|
|
| 1 | 31 | 01 August 2023 | | 2000.0 | 1000.0 | 0.0 | 0.0 | 0.0 | 1000.0 | 0.0 | 0.0 | 0.0 | 1000.0 |
|
|
| 2 | 45 | 15 September 2023 | | 1000.0 | 1000.0 | 0.0 | 0.0 | 0.0 | 1000.0 | 0.0 | 0.0 | 0.0 | 1000.0 |
|
|
| 3 | 30 | 15 October 2023 | | 0.0 | 1000.0 | 0.0 | 0.0 | 0.0 | 1000.0 | 0.0 | 0.0 | 0.0 | 1000.0 |
|
|
Then Loan Repayment schedule has the following data in Total row:
|
|
| Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding |
|
|
| 3000 | 0 | 0 | 0 | 3000 | 0 | 0 | 0 | 3000 |
|
|
|
|
|
|
Scenario: Verify that loan is rescheduled properly in case of: multiple installments, extending repayment schedule
|
|
When Admin sets the business date to "01 July 2023"
|
|
When Admin creates a client with random data
|
|
When Admin creates a fully customized loan with the following data:
|
|
| LoanProduct | submitted on date | with Principal | ANNUAL interest rate % | interest type | interest calculation period | amortization type | loanTermFrequency | loanTermFrequencyType | repaymentEvery | repaymentFrequencyType | numberOfRepayments | graceOnPrincipalPayment | graceOnInterestPayment | interest free period | Payment strategy |
|
|
| LP1 | 01 July 2023 | 3000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 3 | MONTHS | 1 | MONTHS | 3 | 0 | 0 | 0 | PENALTIES_FEES_INTEREST_PRINCIPAL_ORDER |
|
|
And Admin successfully approves the loan on "01 July 2023" with "3000" amount and expected disbursement date on "01 July 2023"
|
|
And Admin successfully disburse the loan on "01 July 2023" with "3000" EUR transaction amount
|
|
Then Loan Repayment schedule has 3 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 July 2023 | | 3000.0 | | | 0.0 | | 0.0 | 0.0 | | | |
|
|
| 1 | 31 | 01 August 2023 | | 2000.0 | 1000.0 | 0.0 | 0.0 | 0.0 | 1000.0 | 0.0 | 0.0 | 0.0 | 1000.0 |
|
|
| 2 | 31 | 01 September 2023 | | 1000.0 | 1000.0 | 0.0 | 0.0 | 0.0 | 1000.0 | 0.0 | 0.0 | 0.0 | 1000.0 |
|
|
| 3 | 30 | 01 October 2023 | | 0.0 | 1000.0 | 0.0 | 0.0 | 0.0 | 1000.0 | 0.0 | 0.0 | 0.0 | 1000.0 |
|
|
Then Loan Repayment schedule has the following data in Total row:
|
|
| Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding |
|
|
| 3000 | 0 | 0 | 0 | 3000 | 0 | 0 | 0 | 3000 |
|
|
When Admin sets the business date to "05 July 2023"
|
|
When Admin creates and approves Loan reschedule with the following data:
|
|
| rescheduleFromDate | submittedOnDate | adjustedDueDate | graceOnPrincipal | graceOnInterest | extraTerms | newInterestRate |
|
|
| 01 September 2023 | 05 July 2023 | | 0 | 0 | 2 | 0 |
|
|
Then Loan Repayment schedule has 5 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 July 2023 | | 3000.0 | | | 0.0 | | 0.0 | 0.0 | | | |
|
|
| 1 | 31 | 01 August 2023 | | 2000.0 | 1000.0 | 0.0 | 0.0 | 0.0 | 1000.0 | 0.0 | 0.0 | 0.0 | 1000.0 |
|
|
| 2 | 31 | 01 September 2023 | | 1500.0 | 500.0 | 0.0 | 0.0 | 0.0 | 500.0 | 0.0 | 0.0 | 0.0 | 500.0 |
|
|
| 3 | 30 | 01 October 2023 | | 1000.0 | 500.0 | 0.0 | 0.0 | 0.0 | 500.0 | 0.0 | 0.0 | 0.0 | 500.0 |
|
|
| 4 | 31 | 01 November 2023 | | 500.0 | 500.0 | 0.0 | 0.0 | 0.0 | 500.0 | 0.0 | 0.0 | 0.0 | 500.0 |
|
|
| 5 | 30 | 01 December 2023 | | 0.0 | 500.0 | 0.0 | 0.0 | 0.0 | 500.0 | 0.0 | 0.0 | 0.0 | 500.0 |
|
|
Then Loan Repayment schedule has the following data in Total row:
|
|
| Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding |
|
|
| 3000 | 0 | 0 | 0 | 3000 | 0 | 0 | 0 | 3000 |
|
|
|
|
|
|
Scenario: Verify that loan is rescheduled properly in case of: multiple installments, mid-term grace period on principal
|
|
When Admin sets the business date to "01 July 2023"
|
|
When Admin creates a client with random data
|
|
When Admin creates a fully customized loan with the following data:
|
|
| LoanProduct | submitted on date | with Principal | ANNUAL interest rate % | interest type | interest calculation period | amortization type | loanTermFrequency | loanTermFrequencyType | repaymentEvery | repaymentFrequencyType | numberOfRepayments | graceOnPrincipalPayment | graceOnInterestPayment | interest free period | Payment strategy |
|
|
| LP1 | 01 July 2023 | 3000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 3 | MONTHS | 1 | MONTHS | 3 | 0 | 0 | 0 | PENALTIES_FEES_INTEREST_PRINCIPAL_ORDER |
|
|
And Admin successfully approves the loan on "01 July 2023" with "3000" amount and expected disbursement date on "01 July 2023"
|
|
And Admin successfully disburse the loan on "01 July 2023" with "3000" EUR transaction amount
|
|
Then Loan Repayment schedule has 3 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 July 2023 | | 3000.0 | | | 0.0 | | 0.0 | 0.0 | | | |
|
|
| 1 | 31 | 01 August 2023 | | 2000.0 | 1000.0 | 0.0 | 0.0 | 0.0 | 1000.0 | 0.0 | 0.0 | 0.0 | 1000.0 |
|
|
| 2 | 31 | 01 September 2023 | | 1000.0 | 1000.0 | 0.0 | 0.0 | 0.0 | 1000.0 | 0.0 | 0.0 | 0.0 | 1000.0 |
|
|
| 3 | 30 | 01 October 2023 | | 0.0 | 1000.0 | 0.0 | 0.0 | 0.0 | 1000.0 | 0.0 | 0.0 | 0.0 | 1000.0 |
|
|
Then Loan Repayment schedule has the following data in Total row:
|
|
| Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding |
|
|
| 3000 | 0 | 0 | 0 | 3000 | 0 | 0 | 0 | 3000 |
|
|
When Admin sets the business date to "05 July 2023"
|
|
When Admin creates and approves Loan reschedule with the following data:
|
|
| rescheduleFromDate | submittedOnDate | adjustedDueDate | graceOnPrincipal | graceOnInterest | extraTerms | newInterestRate |
|
|
| 01 September 2023 | 05 July 2023 | | 1 | 0 | 0 | 0 |
|
|
Then Loan Repayment schedule has 4 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 July 2023 | | 3000.0 | | | 0.0 | | 0.0 | 0.0 | | | |
|
|
| 1 | 31 | 01 August 2023 | | 2000.0 | 1000.0 | 0.0 | 0.0 | 0.0 | 1000.0 | 0.0 | 0.0 | 0.0 | 1000.0 |
|
|
| 2 | 31 | 01 September 2023 | 01 July 2023 | 2000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
|
|
| 3 | 30 | 01 October 2023 | | 1000.0 | 1000.0 | 0.0 | 0.0 | 0.0 | 1000.0 | 0.0 | 0.0 | 0.0 | 1000.0 |
|
|
| 4 | 31 | 01 November 2023 | | 0.0 | 1000.0 | 0.0 | 0.0 | 0.0 | 1000.0 | 0.0 | 0.0 | 0.0 | 1000.0 |
|
|
Then Loan Repayment schedule has the following data in Total row:
|
|
| Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding |
|
|
| 3000 | 0 | 0 | 0 | 3000 | 0 | 0 | 0 | 3000 |
|
|
|
|
# TODO check and fix after Loan reschedule with graceOnInterest deletes all future interest portions when called from API was fixed (periods back to 3 or 5)
|
|
@Skip
|
|
Scenario: Verify that loan is rescheduled properly in case of: multiple installments, mid-term grace period on interest
|
|
When Admin sets the business date to "01 July 2023"
|
|
When Admin creates a client with random data
|
|
When Admin creates a fully customized loan with the following data:
|
|
| LoanProduct | submitted on date | with Principal | ANNUAL interest rate % | interest type | interest calculation period | amortization type | loanTermFrequency | loanTermFrequencyType | repaymentEvery | repaymentFrequencyType | numberOfRepayments | graceOnPrincipalPayment | graceOnInterestPayment | interest free period | Payment strategy |
|
|
| LP1_INTEREST_FLAT | 01 July 2023 | 3000 | 12 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 10 | MONTHS | 1 | MONTHS | 10 | 0 | 0 | 0 | PENALTIES_FEES_INTEREST_PRINCIPAL_ORDER |
|
|
And Admin successfully approves the loan on "01 July 2023" with "3000" amount and expected disbursement date on "01 July 2023"
|
|
And Admin successfully disburse the loan on "01 July 2023" with "3000" EUR transaction amount
|
|
# Then Loan Repayment schedule has 3 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 July 2023 | | 3000.0 | | | 0.0 | | 0.0 | 0.0 | | | |
|
|
# | 1 | 31 | 01 August 2023 | | 2000.0 | 1000.0 | 30.0 | 0.0 | 0.0 | 1030.0 | 0.0 | 0.0 | 0.0 | 1030.0 |
|
|
# | 2 | 31 | 01 September 2023 | | 1000.0 | 1000.0 | 30.0 | 0.0 | 0.0 | 1030.0 | 0.0 | 0.0 | 0.0 | 1030.0 |
|
|
# | 3 | 30 | 01 October 2023 | | 0.0 | 1000.0 | 30.0 | 0.0 | 0.0 | 1030.0 | 0.0 | 0.0 | 0.0 | 1030.0 |
|
|
# Then Loan Repayment schedule has the following data in Total row:
|
|
# | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding |
|
|
# | 3000 | 90 | 0 | 0 | 3090 | 0 | 0 | 0 | 3090 |
|
|
When Admin sets the business date to "05 July 2023"
|
|
When Admin creates and approves Loan reschedule with the following data:
|
|
| rescheduleFromDate | submittedOnDate | adjustedDueDate | graceOnPrincipal | graceOnInterest | extraTerms | newInterestRate |
|
|
| 01 September 2023 | 05 July 2023 | | 0 | 2 | 0 | 0 |
|
|
# Then Loan Repayment schedule has 3 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 July 2023 | | 3000.0 | | | 0.0 | | 0.0 | 0.0 | | | |
|
|
# | 1 | 31 | 01 August 2023 | | 2000.0 | 1000.0 | 30.0 | 0.0 | 0.0 | 1030.0 | 0.0 | 0.0 | 0.0 | 1030.0 |
|
|
# | 2 | 31 | 01 September 2023 | | 1000.0 | 1000.0 | 0.0 | 0.0 | 0.0 | 1000.0 | 0.0 | 0.0 | 0.0 | 1000.0 |
|
|
# | 3 | 30 | 01 October 2023 | | 0.0 | 1000.0 | 0.0 | 0.0 | 0.0 | 1000.0 | 0.0 | 0.0 | 0.0 | 1000.0 |
|
|
# Then Loan Repayment schedule has the following data in Total row:
|
|
# | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding |
|
|
# | 3000 | 30 | 0 | 0 | 3030 | 0 | 0 | 0 | 3030 |
|
|
|
|
|
|
Scenario: Verify that loan is rescheduled properly in case of: multiple installments, new interest rate
|
|
When Admin sets the business date to "01 July 2023"
|
|
When Admin creates a client with random data
|
|
When Admin creates a fully customized loan with the following data:
|
|
| LoanProduct | submitted on date | with Principal | ANNUAL interest rate % | interest type | interest calculation period | amortization type | loanTermFrequency | loanTermFrequencyType | repaymentEvery | repaymentFrequencyType | numberOfRepayments | graceOnPrincipalPayment | graceOnInterestPayment | interest free period | Payment strategy |
|
|
| LP1_INTEREST_FLAT | 01 July 2023 | 3000 | 12 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 3 | MONTHS | 1 | MONTHS | 3 | 0 | 0 | 0 | PENALTIES_FEES_INTEREST_PRINCIPAL_ORDER |
|
|
And Admin successfully approves the loan on "01 July 2023" with "3000" amount and expected disbursement date on "01 July 2023"
|
|
And Admin successfully disburse the loan on "01 July 2023" with "3000" EUR transaction amount
|
|
Then Loan Repayment schedule has 3 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 July 2023 | | 3000.0 | | | 0.0 | | 0.0 | 0.0 | | | |
|
|
| 1 | 31 | 01 August 2023 | | 2000.0 | 1000.0 | 30.0 | 0.0 | 0.0 | 1030.0 | 0.0 | 0.0 | 0.0 | 1030.0 |
|
|
| 2 | 31 | 01 September 2023 | | 1000.0 | 1000.0 | 30.0 | 0.0 | 0.0 | 1030.0 | 0.0 | 0.0 | 0.0 | 1030.0 |
|
|
| 3 | 30 | 01 October 2023 | | 0.0 | 1000.0 | 30.0 | 0.0 | 0.0 | 1030.0 | 0.0 | 0.0 | 0.0 | 1030.0 |
|
|
Then Loan Repayment schedule has the following data in Total row:
|
|
| Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding |
|
|
| 3000 | 90 | 0 | 0 | 3090 | 0 | 0 | 0 | 3090 |
|
|
When Admin sets the business date to "05 July 2023"
|
|
When Admin creates and approves Loan reschedule with the following data:
|
|
| rescheduleFromDate | submittedOnDate | adjustedDueDate | graceOnPrincipal | graceOnInterest | extraTerms | newInterestRate |
|
|
| 01 September 2023 | 05 July 2023 | | 0 | 0 | 0 | 6 |
|
|
Then Loan Repayment schedule has 3 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 July 2023 | | 3000.0 | | | 0.0 | | 0.0 | 0.0 | | | |
|
|
| 1 | 31 | 01 August 2023 | | 2000.0 | 1000.0 | 30.0 | 0.0 | 0.0 | 1030.0 | 0.0 | 0.0 | 0.0 | 1030.0 |
|
|
| 2 | 31 | 01 September 2023 | | 1000.0 | 1000.0 | 15.0 | 0.0 | 0.0 | 1015.0 | 0.0 | 0.0 | 0.0 | 1015.0 |
|
|
| 3 | 30 | 01 October 2023 | | 0.0 | 1000.0 | 15.0 | 0.0 | 0.0 | 1015.0 | 0.0 | 0.0 | 0.0 | 1015.0 |
|
|
Then Loan Repayment schedule has the following data in Total row:
|
|
| Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding |
|
|
| 3000 | 60 | 0 | 0 | 3060 | 0 | 0 | 0 | 3060 |
|
|
|
|
|
|
Scenario: Verify that reschedule: add extra terms working properly with auto downpayment
|
|
When Admin sets the business date to "01 October 2023"
|
|
When Admin creates a client with random data
|
|
When Admin creates a fully customized loan with the following data:
|
|
| LoanProduct | submitted on date | with Principal | ANNUAL interest rate % | interest type | interest calculation period | amortization type | loanTermFrequency | loanTermFrequencyType | repaymentEvery | repaymentFrequencyType | numberOfRepayments | graceOnPrincipalPayment | graceOnInterestPayment | interest free period | Payment strategy |
|
|
| LP2_DOWNPAYMENT_AUTO | 01 October 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | DUE_PENALTY_INTEREST_PRINCIPAL_FEE_IN_ADVANCE_PENALTY_INTEREST_PRINCIPAL_FEE |
|
|
And Admin successfully approves the loan on "01 October 2023" with "1000" amount and expected disbursement date on "01 October 2023"
|
|
When Admin successfully disburse the loan on "01 October 2023" with "1000" EUR transaction amount
|
|
When Admin creates and approves Loan reschedule with the following data:
|
|
| rescheduleFromDate | submittedOnDate | adjustedDueDate | graceOnPrincipal | graceOnInterest | extraTerms | newInterestRate |
|
|
| 16 October 2023 | 01 October 2023 | | 0 | 0 | 2 | 0 |
|
|
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 October 2023 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | |
|
|
| 1 | 0 | 01 October 2023 | 01 October 2023 | 750.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 250.0 | 0.0 | 0.0 | 0.0 |
|
|
| 2 | 15 | 16 October 2023 | | 600.0 | 150.0 | 0.0 | 0.0 | 0.0 | 150.0 | 0.0 | 0.0 | 0.0 | 150.0 |
|
|
| 3 | 15 | 31 October 2023 | | 450.0 | 150.0 | 0.0 | 0.0 | 0.0 | 150.0 | 0.0 | 0.0 | 0.0 | 150.0 |
|
|
| 4 | 15 | 15 November 2023 | | 300.0 | 150.0 | 0.0 | 0.0 | 0.0 | 150.0 | 0.0 | 0.0 | 0.0 | 150.0 |
|
|
| 5 | 15 | 30 November 2023 | | 150.0 | 150.0 | 0.0 | 0.0 | 0.0 | 150.0 | 0.0 | 0.0 | 0.0 | 150.0 |
|
|
| 6 | 15 | 15 December 2023 | | 0.0 | 150.0 | 0.0 | 0.0 | 0.0 | 150.0 | 0.0 | 0.0 | 0.0 | 150.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 | 0.0 | 0.0 | 0.0 | 1000.0 | 250.0 | 0.0 | 0.0 | 750.0 |
|
|
|
|
|
|
Scenario: Verify that reschedule: add extra terms working properly with auto downpayment and 2nd disbursement before reschedule
|
|
When Admin sets the business date to "01 October 2023"
|
|
When Admin creates a client with random data
|
|
When Admin creates a fully customized loan with the following data:
|
|
| LoanProduct | submitted on date | with Principal | ANNUAL interest rate % | interest type | interest calculation period | amortization type | loanTermFrequency | loanTermFrequencyType | repaymentEvery | repaymentFrequencyType | numberOfRepayments | graceOnPrincipalPayment | graceOnInterestPayment | interest free period | Payment strategy |
|
|
| LP2_DOWNPAYMENT_AUTO | 01 October 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | DUE_PENALTY_INTEREST_PRINCIPAL_FEE_IN_ADVANCE_PENALTY_INTEREST_PRINCIPAL_FEE |
|
|
And Admin successfully approves the loan on "01 October 2023" with "1000" amount and expected disbursement date on "01 October 2023"
|
|
When Admin successfully disburse the loan on "01 October 2023" with "1000" EUR transaction amount
|
|
When Admin sets the business date to "10 October 2023"
|
|
When Admin successfully disburse the loan on "10 October 2023" with "400" EUR transaction amount
|
|
When Admin sets the business date to "11 October 2023"
|
|
When Admin creates and approves Loan reschedule with the following data:
|
|
| rescheduleFromDate | submittedOnDate | adjustedDueDate | graceOnPrincipal | graceOnInterest | extraTerms | newInterestRate |
|
|
| 16 October 2023 | 01 October 2023 | | 0 | 0 | 2 | 0 |
|
|
Then Loan Repayment schedule has 7 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 October 2023 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | |
|
|
| 1 | 0 | 01 October 2023 | 01 October 2023 | 750.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 250.0 | 0.0 | 0.0 | 0.0 |
|
|
| | | 10 October 2023 | | 400.0 | | | 0.0 | | 0.0 | 0.0 | | | |
|
|
| 2 | 0 | 10 October 2023 | 10 October 2023 | 1050.0 | 100.0 | 0.0 | 0.0 | 0.0 | 100.0 | 100.0 | 0.0 | 0.0 | 0.0 |
|
|
| 3 | 15 | 16 October 2023 | | 840.0 | 210.0 | 0.0 | 0.0 | 0.0 | 210.0 | 0.0 | 0.0 | 0.0 | 210.0 |
|
|
| 4 | 15 | 31 October 2023 | | 630.0 | 210.0 | 0.0 | 0.0 | 0.0 | 210.0 | 0.0 | 0.0 | 0.0 | 210.0 |
|
|
| 5 | 15 | 15 November 2023 | | 420.0 | 210.0 | 0.0 | 0.0 | 0.0 | 210.0 | 0.0 | 0.0 | 0.0 | 210.0 |
|
|
| 6 | 15 | 30 November 2023 | | 210.0 | 210.0 | 0.0 | 0.0 | 0.0 | 210.0 | 0.0 | 0.0 | 0.0 | 210.0 |
|
|
| 7 | 15 | 15 December 2023 | | 0.0 | 210.0 | 0.0 | 0.0 | 0.0 | 210.0 | 0.0 | 0.0 | 0.0 | 210.0 |
|
|
Then Loan Repayment schedule has the following data in Total row:
|
|
| Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding |
|
|
| 1400.0 | 0.0 | 0.0 | 0.0 | 1400.0 | 350.0 | 0.0 | 0.0 | 1050.0 |
|
|
|
|
# TODO remove Skip when Reschedule does not work properly in case of LP2_DOWNPAYMENT_AUTO and with 2nd disbursement after reschedule and first installment is fixed
|
|
@Skip
|
|
|
|
Scenario: Verify that reschedule: add extra terms working properly with auto downpayment and 2nd disbursement after reschedule and first installment
|
|
When Admin sets the business date to "01 October 2023"
|
|
When Admin creates a client with random data
|
|
When Admin creates a fully customized loan with the following data:
|
|
| LoanProduct | submitted on date | with Principal | ANNUAL interest rate % | interest type | interest calculation period | amortization type | loanTermFrequency | loanTermFrequencyType | repaymentEvery | repaymentFrequencyType | numberOfRepayments | graceOnPrincipalPayment | graceOnInterestPayment | interest free period | Payment strategy |
|
|
| LP2_DOWNPAYMENT_AUTO | 01 October 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | DUE_PENALTY_INTEREST_PRINCIPAL_FEE_IN_ADVANCE_PENALTY_INTEREST_PRINCIPAL_FEE |
|
|
And Admin successfully approves the loan on "01 October 2023" with "1000" amount and expected disbursement date on "01 October 2023"
|
|
When Admin successfully disburse the loan on "01 October 2023" with "1000" EUR transaction amount
|
|
When Admin sets the business date to "11 October 2023"
|
|
When Admin creates and approves Loan reschedule with the following data:
|
|
| rescheduleFromDate | submittedOnDate | adjustedDueDate | graceOnPrincipal | graceOnInterest | extraTerms | newInterestRate |
|
|
| 16 October 2023 | 01 October 2023 | | 0 | 0 | 2 | 0 |
|
|
When Admin sets the business date to "20 October 2023"
|
|
When Admin successfully disburse the loan on "20 October 2023" with "400" EUR transaction amount
|
|
Then Loan Repayment schedule has 7 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 October 2023 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | |
|
|
| 1 | 0 | 01 October 2023 | 01 October 2023 | 750.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 250.0 | 0.0 | 0.0 | 0.0 |
|
|
| 2 | 15 | 16 October 2023 | | 600.0 | 150.0 | 0.0 | 0.0 | 0.0 | 150.0 | 100.0 | 0.0 | 100.0 | 50.0 |
|
|
| | | 20 October 2023 | | 400.0 | | | 0.0 | | 0.0 | 0.0 | | | |
|
|
| 3 | 0 | 20 October 2023 | | 900.0 | 100.0 | 0.0 | 0.0 | 0.0 | 100.0 | 0.0 | 0.0 | 0.0 | 100.0 |
|
|
| 4 | 15 | 31 October 2023 | | 675.0 | 225.0 | 0.0 | 0.0 | 0.0 | 225.0 | 0.0 | 0.0 | 0.0 | 225.0 |
|
|
| 5 | 15 | 15 November 2023 | | 450.0 | 225.0 | 0.0 | 0.0 | 0.0 | 225.0 | 0.0 | 0.0 | 0.0 | 225.0 |
|
|
| 6 | 15 | 30 November 2023 | | 225.0 | 225.0 | 0.0 | 0.0 | 0.0 | 225.0 | 0.0 | 0.0 | 0.0 | 225.0 |
|
|
| 7 | 15 | 15 December 2023 | | 0.0 | 225.0 | 0.0 | 0.0 | 0.0 | 225.0 | 0.0 | 0.0 | 0.0 | 225.0 |
|
|
Then Loan Repayment schedule has the following data in Total row:
|
|
| Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding |
|
|
| 1400.0 | 0.0 | 0.0 | 0.0 | 1400.0 | 350.0 | 0.0 | 100.0 | 1050.0 |
|
|
|
|
|
|
Scenario: Verify that Payment Holiday (Reschedule with adjustedDueDate) works properly in case of loan schedule adjusted by 1 installment period after successful downpayment
|
|
When Admin sets the business date to "01 October 2023"
|
|
When Admin creates a client with random data
|
|
When Admin creates a fully customized loan with the following data:
|
|
| LoanProduct | submitted on date | with Principal | ANNUAL interest rate % | interest type | interest calculation period | amortization type | loanTermFrequency | loanTermFrequencyType | repaymentEvery | repaymentFrequencyType | numberOfRepayments | graceOnPrincipalPayment | graceOnInterestPayment | interest free period | Payment strategy |
|
|
| LP2_DOWNPAYMENT_AUTO | 01 October 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | DUE_PENALTY_INTEREST_PRINCIPAL_FEE_IN_ADVANCE_PENALTY_INTEREST_PRINCIPAL_FEE |
|
|
And Admin successfully approves the loan on "01 October 2023" with "1000" amount and expected disbursement date on "01 October 2023"
|
|
When Admin successfully disburse the loan on "01 October 2023" with "1000" EUR transaction amount
|
|
When Admin sets the business date to "05 October 2023"
|
|
When Admin creates and approves Loan reschedule with the following data:
|
|
| rescheduleFromDate | submittedOnDate | adjustedDueDate | graceOnPrincipal | graceOnInterest | extraTerms | newInterestRate |
|
|
| 16 October 2023 | 05 October 2023 | 31 October 2023 | 0 | 0 | 0 | 0 |
|
|
Then Loan Repayment schedule has 4 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 October 2023 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | |
|
|
| 1 | 0 | 01 October 2023 | 01 October 2023 | 750.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 250.0 | 0.0 | 0.0 | 0.0 |
|
|
| 2 | 30 | 31 October 2023 | | 500.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 |
|
|
| 3 | 15 | 15 November 2023 | | 250.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 |
|
|
| 4 | 15 | 30 November 2023 | | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.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 | 0.0 | 0.0 | 0.0 | 1000.0 | 250.0 | 0.0 | 0.0 | 750.0 |
|
|
|
|
|
|
Scenario: Verify that Payment Holiday (Reschedule with adjustedDueDate) works properly in case of loan schedule adjusted by 2 installment period after successful downpayment
|
|
When Admin sets the business date to "01 October 2023"
|
|
When Admin creates a client with random data
|
|
When Admin creates a fully customized loan with the following data:
|
|
| LoanProduct | submitted on date | with Principal | ANNUAL interest rate % | interest type | interest calculation period | amortization type | loanTermFrequency | loanTermFrequencyType | repaymentEvery | repaymentFrequencyType | numberOfRepayments | graceOnPrincipalPayment | graceOnInterestPayment | interest free period | Payment strategy |
|
|
| LP2_DOWNPAYMENT_AUTO | 01 October 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | DUE_PENALTY_INTEREST_PRINCIPAL_FEE_IN_ADVANCE_PENALTY_INTEREST_PRINCIPAL_FEE |
|
|
And Admin successfully approves the loan on "01 October 2023" with "1000" amount and expected disbursement date on "01 October 2023"
|
|
When Admin successfully disburse the loan on "01 October 2023" with "1000" EUR transaction amount
|
|
When Admin sets the business date to "05 October 2023"
|
|
When Admin creates and approves Loan reschedule with the following data:
|
|
| rescheduleFromDate | submittedOnDate | adjustedDueDate | graceOnPrincipal | graceOnInterest | extraTerms | newInterestRate |
|
|
| 16 October 2023 | 05 October 2023 | 15 November 2023 | 0 | 0 | 0 | 0 |
|
|
Then Loan Repayment schedule has 4 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 October 2023 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | |
|
|
| 1 | 0 | 01 October 2023 | 01 October 2023 | 750.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 250.0 | 0.0 | 0.0 | 0.0 |
|
|
| 2 | 45 | 15 November 2023 | | 500.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 |
|
|
| 3 | 15 | 30 November 2023 | | 250.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 |
|
|
| 4 | 15 | 15 December 2023 | | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.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 | 0.0 | 0.0 | 0.0 | 1000.0 | 250.0 | 0.0 | 0.0 | 750.0 |
|
|
|
|
|
|
Scenario: Verify that Payment Holiday (Reschedule with adjustedDueDate) works properly in case of loan schedule adjusted by 2 installment period while downpayment is still due
|
|
When Admin sets the business date to "01 October 2023"
|
|
When Admin creates a client with random data
|
|
When Admin creates a fully customized loan with the following data:
|
|
| LoanProduct | submitted on date | with Principal | ANNUAL interest rate % | interest type | interest calculation period | amortization type | loanTermFrequency | loanTermFrequencyType | repaymentEvery | repaymentFrequencyType | numberOfRepayments | graceOnPrincipalPayment | graceOnInterestPayment | interest free period | Payment strategy |
|
|
| LP2_DOWNPAYMENT | 01 October 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | DUE_PENALTY_INTEREST_PRINCIPAL_FEE_IN_ADVANCE_PENALTY_INTEREST_PRINCIPAL_FEE |
|
|
And Admin successfully approves the loan on "01 October 2023" with "1000" amount and expected disbursement date on "01 October 2023"
|
|
When Admin successfully disburse the loan on "01 October 2023" with "1000" EUR transaction amount
|
|
When Admin sets the business date to "05 October 2023"
|
|
When Admin creates and approves Loan reschedule with the following data:
|
|
| rescheduleFromDate | submittedOnDate | adjustedDueDate | graceOnPrincipal | graceOnInterest | extraTerms | newInterestRate |
|
|
| 16 October 2023 | 05 October 2023 | 15 November 2023 | 0 | 0 | 0 | 0 |
|
|
Then Loan Repayment schedule has 4 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 October 2023 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | |
|
|
| 1 | 0 | 01 October 2023 | | 750.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 |
|
|
| 2 | 45 | 15 November 2023 | | 500.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 |
|
|
| 3 | 15 | 30 November 2023 | | 250.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 |
|
|
| 4 | 15 | 15 December 2023 | | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.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 | 0.0 | 0.0 | 0.0 | 1000.0 | 0.0 | 0.0 | 0.0 | 1000.0 |
|
|
|
|
|
|
Scenario: Verify that Payment Holiday (Reschedule with adjustedDueDate) works properly in case of loan schedule adjusted by 1 installment period after downpayment was reverted, fee added and downpayment paid by autopayment
|
|
When Admin sets the business date to "01 October 2023"
|
|
When Admin creates a client with random data
|
|
When Admin creates a fully customized loan with the following data:
|
|
| LoanProduct | submitted on date | with Principal | ANNUAL interest rate % | interest type | interest calculation period | amortization type | loanTermFrequency | loanTermFrequencyType | repaymentEvery | repaymentFrequencyType | numberOfRepayments | graceOnPrincipalPayment | graceOnInterestPayment | interest free period | Payment strategy |
|
|
| LP2_DOWNPAYMENT | 01 October 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | DUE_PENALTY_INTEREST_PRINCIPAL_FEE_IN_ADVANCE_PENALTY_INTEREST_PRINCIPAL_FEE |
|
|
And Admin successfully approves the loan on "01 October 2023" with "1000" amount and expected disbursement date on "01 October 2023"
|
|
When Admin successfully disburse the loan on "01 October 2023" with "1000" EUR transaction amount
|
|
And Customer makes "AUTOPAY" repayment on "01 October 2023" with 250 EUR transaction amount
|
|
When Admin sets the business date to "02 October 2023"
|
|
When Customer undo "1"th repayment on "01 October 2023"
|
|
When Admin adds "LOAN_NSF_FEE" due date charge with "16 October 2023" due date and 15 EUR transaction amount
|
|
When Admin sets the business date to "03 October 2023"
|
|
And Customer makes "AUTOPAY" repayment on "03 October 2023" with 250 EUR transaction amount
|
|
When Admin sets the business date to "05 October 2023"
|
|
When Admin creates and approves Loan reschedule with the following data:
|
|
| rescheduleFromDate | submittedOnDate | adjustedDueDate | graceOnPrincipal | graceOnInterest | extraTerms | newInterestRate |
|
|
| 16 October 2023 | 05 October 2023 | 31 October 2023 | 0 | 0 | 0 | 0 |
|
|
Then Loan Repayment schedule has 4 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 October 2023 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | |
|
|
| 1 | 0 | 01 October 2023 | 03 October 2023 | 750.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 250.0 | 0.0 | 250.0 | 0.0 |
|
|
| 2 | 30 | 31 October 2023 | | 500.0 | 250.0 | 0.0 | 0.0 | 15.0 | 265.0 | 0.0 | 0.0 | 0.0 | 265.0 |
|
|
| 3 | 15 | 15 November 2023 | | 250.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 |
|
|
| 4 | 15 | 30 November 2023 | | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.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 | 0.0 | 0.0 | 15.0 | 1015.0 | 250.0 | 0.0 | 250.0 | 765.0 |
|
|
Then Loan Transactions tab has the following data:
|
|
| Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted |
|
|
| 01 October 2023 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | false |
|
|
| 01 October 2023 | Repayment | 250.0 | 250.0 | 0.0 | 0.0 | 0.0 | 750.0 | true |
|
|
| 03 October 2023 | Repayment | 250.0 | 250.0 | 0.0 | 0.0 | 0.0 | 750.0 | false |
|
|
|
|
|
|
Scenario: Verify that Payment Holiday (Reschedule with adjustedDueDate) works properly in case of auto downpayment
|
|
When Admin sets the business date to "01 October 2023"
|
|
When Admin creates a client with random data
|
|
When Admin creates a fully customized loan with the following data:
|
|
| LoanProduct | submitted on date | with Principal | ANNUAL interest rate % | interest type | interest calculation period | amortization type | loanTermFrequency | loanTermFrequencyType | repaymentEvery | repaymentFrequencyType | numberOfRepayments | graceOnPrincipalPayment | graceOnInterestPayment | interest free period | Payment strategy |
|
|
| LP2_DOWNPAYMENT_AUTO | 01 October 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | DUE_PENALTY_INTEREST_PRINCIPAL_FEE_IN_ADVANCE_PENALTY_INTEREST_PRINCIPAL_FEE |
|
|
And Admin successfully approves the loan on "01 October 2023" with "1000" amount and expected disbursement date on "01 October 2023"
|
|
When Admin successfully disburse the loan on "01 October 2023" with "1000" EUR transaction amount
|
|
When Admin creates and approves Loan reschedule with the following data:
|
|
| rescheduleFromDate | submittedOnDate | adjustedDueDate | graceOnPrincipal | graceOnInterest | extraTerms | newInterestRate |
|
|
| 16 October 2023 | 01 October 2023 | 31 October 2023 | 0 | 0 | 0 | 0 |
|
|
Then Loan Repayment schedule has 4 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 October 2023 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | |
|
|
| 1 | 0 | 01 October 2023 | 01 October 2023 | 750.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 250.0 | 0.0 | 0.0 | 0.0 |
|
|
| 2 | 30 | 31 October 2023 | | 500.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 |
|
|
| 3 | 15 | 15 November 2023 | | 250.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 |
|
|
| 4 | 15 | 30 November 2023 | | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.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 | 0.0 | 0.0 | 0.0 | 1000.0 | 250.0 | 0.0 | 0.0 | 750.0 |
|
|
|
|
|
|
Scenario: Verify that Payment Holiday (Reschedule with adjustedDueDate) works properly in case of auto downpayment and 2nd disbursement before reschedule
|
|
When Admin sets the business date to "01 October 2023"
|
|
When Admin creates a client with random data
|
|
When Admin creates a fully customized loan with the following data:
|
|
| LoanProduct | submitted on date | with Principal | ANNUAL interest rate % | interest type | interest calculation period | amortization type | loanTermFrequency | loanTermFrequencyType | repaymentEvery | repaymentFrequencyType | numberOfRepayments | graceOnPrincipalPayment | graceOnInterestPayment | interest free period | Payment strategy |
|
|
| LP2_DOWNPAYMENT_AUTO | 01 October 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | DUE_PENALTY_INTEREST_PRINCIPAL_FEE_IN_ADVANCE_PENALTY_INTEREST_PRINCIPAL_FEE |
|
|
And Admin successfully approves the loan on "01 October 2023" with "1000" amount and expected disbursement date on "01 October 2023"
|
|
When Admin successfully disburse the loan on "01 October 2023" with "1000" EUR transaction amount
|
|
When Admin sets the business date to "10 October 2023"
|
|
When Admin successfully disburse the loan on "10 October 2023" with "400" EUR transaction amount
|
|
When Admin sets the business date to "11 October 2023"
|
|
When Admin creates and approves Loan reschedule with the following data:
|
|
| rescheduleFromDate | submittedOnDate | adjustedDueDate | graceOnPrincipal | graceOnInterest | extraTerms | newInterestRate |
|
|
| 16 October 2023 | 01 October 2023 | 31 October 2023 | 0 | 0 | 0 | 0 |
|
|
Then Loan Repayment schedule has 5 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 October 2023 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | |
|
|
| 1 | 0 | 01 October 2023 | 01 October 2023 | 750.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 250.0 | 0.0 | 0.0 | 0.0 |
|
|
| | | 10 October 2023 | | 400.0 | | | 0.0 | | 0.0 | 0.0 | | | |
|
|
| 2 | 0 | 10 October 2023 | 10 October 2023 | 1050.0 | 100.0 | 0.0 | 0.0 | 0.0 | 100.0 | 100.0 | 0.0 | 0.0 | 0.0 |
|
|
| 3 | 30 | 31 October 2023 | | 700.0 | 350.0 | 0.0 | 0.0 | 0.0 | 350.0 | 0.0 | 0.0 | 0.0 | 350.0 |
|
|
| 4 | 15 | 15 November 2023 | | 350.0 | 350.0 | 0.0 | 0.0 | 0.0 | 350.0 | 0.0 | 0.0 | 0.0 | 350.0 |
|
|
| 5 | 15 | 30 November 2023 | | 0.0 | 350.0 | 0.0 | 0.0 | 0.0 | 350.0 | 0.0 | 0.0 | 0.0 | 350.0 |
|
|
Then Loan Repayment schedule has the following data in Total row:
|
|
| Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding |
|
|
| 1400.0 | 0.0 | 0.0 | 0.0 | 1400.0 | 350.0 | 0.0 | 0.0 | 1050.0 |
|
|
|
|
|
|
Scenario: Verify that Payment Holiday (Reschedule with adjustedDueDate) works properly in case of loan schedule adjusted by 1 installment period and 2 extra terms
|
|
When Admin sets the business date to "01 October 2023"
|
|
When Admin creates a client with random data
|
|
When Admin creates a fully customized loan with the following data:
|
|
| LoanProduct | submitted on date | with Principal | ANNUAL interest rate % | interest type | interest calculation period | amortization type | loanTermFrequency | loanTermFrequencyType | repaymentEvery | repaymentFrequencyType | numberOfRepayments | graceOnPrincipalPayment | graceOnInterestPayment | interest free period | Payment strategy |
|
|
| LP2_DOWNPAYMENT_AUTO | 01 October 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | DUE_PENALTY_INTEREST_PRINCIPAL_FEE_IN_ADVANCE_PENALTY_INTEREST_PRINCIPAL_FEE |
|
|
And Admin successfully approves the loan on "01 October 2023" with "1000" amount and expected disbursement date on "01 October 2023"
|
|
When Admin successfully disburse the loan on "01 October 2023" with "1000" EUR transaction amount
|
|
When Admin sets the business date to "05 October 2023"
|
|
When Admin creates and approves Loan reschedule with the following data:
|
|
| rescheduleFromDate | submittedOnDate | adjustedDueDate | graceOnPrincipal | graceOnInterest | extraTerms | newInterestRate |
|
|
| 16 October 2023 | 05 October 2023 | 31 October 2023 | 0 | 0 | 2 | 0 |
|
|
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 October 2023 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | |
|
|
| 1 | 0 | 01 October 2023 | 01 October 2023 | 750.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 250.0 | 0.0 | 0.0 | 0.0 |
|
|
| 2 | 30 | 31 October 2023 | | 600.0 | 150.0 | 0.0 | 0.0 | 0.0 | 150.0 | 0.0 | 0.0 | 0.0 | 150.0 |
|
|
| 3 | 15 | 15 November 2023 | | 450.0 | 150.0 | 0.0 | 0.0 | 0.0 | 150.0 | 0.0 | 0.0 | 0.0 | 150.0 |
|
|
| 4 | 15 | 30 November 2023 | | 300.0 | 150.0 | 0.0 | 0.0 | 0.0 | 150.0 | 0.0 | 0.0 | 0.0 | 150.0 |
|
|
| 5 | 15 | 15 December 2023 | | 150.0 | 150.0 | 0.0 | 0.0 | 0.0 | 150.0 | 0.0 | 0.0 | 0.0 | 150.0 |
|
|
| 6 | 15 | 30 December 2023 | | 0.0 | 150.0 | 0.0 | 0.0 | 0.0 | 150.0 | 0.0 | 0.0 | 0.0 | 150.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 | 0.0 | 0.0 | 0.0 | 1000.0 | 250.0 | 0.0 | 0.0 | 750.0 |
|
|
|
|
|
|
Scenario: Verify that Payment Holiday (Reschedule with adjustedDueDate) works properly in case of loan schedule adjusted by 1 installment period and 1 grace on principal
|
|
When Admin sets the business date to "01 October 2023"
|
|
When Admin creates a client with random data
|
|
When Admin creates a fully customized loan with the following data:
|
|
| LoanProduct | submitted on date | with Principal | ANNUAL interest rate % | interest type | interest calculation period | amortization type | loanTermFrequency | loanTermFrequencyType | repaymentEvery | repaymentFrequencyType | numberOfRepayments | graceOnPrincipalPayment | graceOnInterestPayment | interest free period | Payment strategy |
|
|
| LP2_DOWNPAYMENT_AUTO | 01 October 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | DUE_PENALTY_INTEREST_PRINCIPAL_FEE_IN_ADVANCE_PENALTY_INTEREST_PRINCIPAL_FEE |
|
|
And Admin successfully approves the loan on "01 October 2023" with "1000" amount and expected disbursement date on "01 October 2023"
|
|
When Admin successfully disburse the loan on "01 October 2023" with "1000" EUR transaction amount
|
|
When Admin sets the business date to "05 October 2023"
|
|
When Admin creates and approves Loan reschedule with the following data:
|
|
| rescheduleFromDate | submittedOnDate | adjustedDueDate | graceOnPrincipal | graceOnInterest | extraTerms | newInterestRate |
|
|
| 16 October 2023 | 05 October 2023 | 31 October 2023 | 1 | 0 | 0 | 0 |
|
|
Then Loan Repayment schedule has 5 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 October 2023 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | |
|
|
| 1 | 0 | 01 October 2023 | 01 October 2023 | 750.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 250.0 | 0.0 | 0.0 | 0.0 |
|
|
| 2 | 30 | 31 October 2023 | 01 October 2023 | 750.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
|
|
| 3 | 15 | 15 November 2023 | | 500.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 |
|
|
| 4 | 15 | 30 November 2023 | | 250.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 |
|
|
| 5 | 15 | 15 December 2023 | | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.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 | 0.0 | 0.0 | 0.0 | 1000.0 | 250.0 | 0.0 | 0.0 | 750.0 |
|
|
|
|
|
|
Scenario: Verify that Payment Holiday (Reschedule with adjustedDueDate) gives error in case of charged-off loan
|
|
When Admin sets the business date to "01 October 2023"
|
|
When Admin creates a client with random data
|
|
When Admin creates a fully customized loan with the following data:
|
|
| LoanProduct | submitted on date | with Principal | ANNUAL interest rate % | interest type | interest calculation period | amortization type | loanTermFrequency | loanTermFrequencyType | repaymentEvery | repaymentFrequencyType | numberOfRepayments | graceOnPrincipalPayment | graceOnInterestPayment | interest free period | Payment strategy |
|
|
| LP2_DOWNPAYMENT_AUTO | 01 October 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | DUE_PENALTY_INTEREST_PRINCIPAL_FEE_IN_ADVANCE_PENALTY_INTEREST_PRINCIPAL_FEE |
|
|
And Admin successfully approves the loan on "01 October 2023" with "1000" amount and expected disbursement date on "01 October 2023"
|
|
When Admin successfully disburse the loan on "01 October 2023" with "1000" EUR transaction amount
|
|
When Admin sets the business date to "03 October 2023"
|
|
And Admin does charge-off the loan on "03 October 2023"
|
|
When Admin sets the business date to "05 October 2023"
|
|
Then Loan reschedule with the following data results a 403 error and "LOAN_CHARGED_OFF" error message
|
|
| rescheduleFromDate | submittedOnDate | adjustedDueDate | graceOnPrincipal | graceOnInterest | extraTerms | newInterestRate |
|
|
| 16 October 2023 | 05 October 2023 | 31 October 2023 | 0 | 0 | 0 | 0 |
|
|
|
|
|
|
Scenario: Verify that reschedule keeps the N+1 installment
|
|
When Admin sets the business date to "01 October 2023"
|
|
When Admin creates a client with random data
|
|
When Admin creates a fully customized loan with the following data:
|
|
| LoanProduct | submitted on date | with Principal | ANNUAL interest rate % | interest type | interest calculation period | amortization type | loanTermFrequency | loanTermFrequencyType | repaymentEvery | repaymentFrequencyType | numberOfRepayments | graceOnPrincipalPayment | graceOnInterestPayment | interest free period | Payment strategy |
|
|
| LP2_DOWNPAYMENT | 01 October 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | DUE_PENALTY_INTEREST_PRINCIPAL_FEE_IN_ADVANCE_PENALTY_INTEREST_PRINCIPAL_FEE |
|
|
And Admin successfully approves the loan on "01 October 2023" with "1000" amount and expected disbursement date on "01 October 2023"
|
|
When Admin successfully disburse the loan on "01 October 2023" with "1000" EUR transaction amount
|
|
When Admin adds "LOAN_NSF_FEE" due date charge with "17 December 2023" due date and 20 EUR transaction amount
|
|
Then Loan Repayment schedule has 5 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 October 2023 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | |
|
|
| 1 | 0 | 01 October 2023 | | 750.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 |
|
|
| 2 | 15 | 16 October 2023 | | 500.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 |
|
|
| 3 | 15 | 31 October 2023 | | 250.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 |
|
|
| 4 | 15 | 15 November 2023 | | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 |
|
|
| 5 | 32 | 17 December 2023 | | 0.0 | 0.0 | 0.0 | 0.0 | 20.0 | 20.0 | 0.0 | 0.0 | 0.0 | 20.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 | 0.0 | 0.0 | 20.0 | 1020.0 | 0.0 | 0.0 | 0.0 | 1020.0 |
|
|
When Admin sets the business date to "05 October 2023"
|
|
When Admin creates and approves Loan reschedule with the following data:
|
|
| rescheduleFromDate | submittedOnDate | adjustedDueDate | graceOnPrincipal | graceOnInterest | extraTerms | newInterestRate |
|
|
| 16 October 2023 | 05 October 2023 | 31 October 2023 | 0 | 0 | 0 | 0 |
|
|
Then Loan Repayment schedule has 5 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 October 2023 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | |
|
|
| 1 | 0 | 01 October 2023 | | 750.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 |
|
|
| 2 | 30 | 31 October 2023 | | 500.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 |
|
|
| 3 | 15 | 15 November 2023 | | 250.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 |
|
|
| 4 | 15 | 30 November 2023 | | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 |
|
|
| 5 | 17 | 17 December 2023 | | 0.0 | 0.0 | 0.0 | 0.0 | 20.0 | 20.0 | 0.0 | 0.0 | 0.0 | 20.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 | 0.0 | 0.0 | 20.0 | 1020.0 | 0.0 | 0.0 | 0.0 | 1020.0 |
|
|
|
|
@AdvancedPaymentAllocation
|
|
Scenario: Verify that inline COB execution is taking place in case of a BatchAPI request of Loan reschedule creation and approval
|
|
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
|
|
When Admin creates a fully customized loan with the following data:
|
|
| LoanProduct | submitted on date | with Principal | ANNUAL interest rate % | interest type | interest calculation period | amortization type | loanTermFrequency | loanTermFrequencyType | repaymentEvery | repaymentFrequencyType | numberOfRepayments | graceOnPrincipalPayment | graceOnInterestPayment | interest free period | Payment strategy |
|
|
| LP2_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION | 01 January 2024 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION |
|
|
And Admin successfully approves the loan on "01 January 2024" with "1000" amount and expected disbursement date on "01 January 2024"
|
|
When Admin successfully disburse the loan on "01 January 2024" with "1000" EUR transaction amount
|
|
When Admin sets the business date to "02 January 2024"
|
|
When Admin runs inline COB job for Loan
|
|
When Admin creates new user with "NO_BYPASS_AUTOTEST" username, "NO_BYPASS_AUTOTEST_ROLE" role name and given permissions:
|
|
| APPROVE_RESCHEDULELOAN |
|
|
| CREATE_RESCHEDULELOAN |
|
|
| READ_RESCHEDULELOAN |
|
|
| REJECT_RESCHEDULELOAN |
|
|
When Admin sets the business date to "10 January 2024"
|
|
When Batch API call with created user and with steps: rescheduleLoan from "16 January 2024" to "31 January 2024" submitted on date: "10 January 2024", approveReschedule on date: "10 January 2024" runs with enclosingTransaction: "true"
|
|
Then Admin checks that last closed business date of loan is "09 January 2024"
|
|
|
|
@AdvancedPaymentAllocation
|
|
Scenario: Verify that in case of Loan is hard locked for COB execution, BatchAPI request of Loan reschedule creation and approval will result a 409 error and a LOAN_LOCKED_BY_COB error message
|
|
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
|
|
When Admin creates a fully customized loan with the following data:
|
|
| LoanProduct | submitted on date | with Principal | ANNUAL interest rate % | interest type | interest calculation period | amortization type | loanTermFrequency | loanTermFrequencyType | repaymentEvery | repaymentFrequencyType | numberOfRepayments | graceOnPrincipalPayment | graceOnInterestPayment | interest free period | Payment strategy |
|
|
| LP2_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION | 01 January 2024 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION |
|
|
And Admin successfully approves the loan on "01 January 2024" with "1000" amount and expected disbursement date on "01 January 2024"
|
|
When Admin successfully disburse the loan on "01 January 2024" with "1000" EUR transaction amount
|
|
When Admin sets the business date to "02 January 2024"
|
|
When Admin runs inline COB job for Loan
|
|
When Admin sets the business date to "10 January 2024"
|
|
When Admin places a lock on loan account with an error message
|
|
When Admin creates new user with "NO_BYPASS_AUTOTEST" username, "NO_BYPASS_AUTOTEST_ROLE" role name and given permissions:
|
|
| APPROVE_RESCHEDULELOAN |
|
|
| CREATE_RESCHEDULELOAN |
|
|
| READ_RESCHEDULELOAN |
|
|
| REJECT_RESCHEDULELOAN |
|
|
When Batch API call with created user and the following data results a 409 error and a "LOAN_LOCKED_BY_COB" error message:
|
|
| rescheduleFromDate | submittedOnDate | adjustedDueDate | approvedOnDate | enclosingTransaction |
|
|
| 16 January 2024 | 10 January 2024 | 31 January 2024 | 10 January 2024 | true |
|