blob: 77893dbaea43ed2ef51c927dcf7cb8e0096aeea4 [file] [log] [blame]
@LoanDelinquencyFeature
Feature: LoanDelinquency
@TestRailId:C2963
Scenario: Verify Loan delinquency pause API - PAUSE and RESUME by loanId
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 |
| PIN4_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION | 01 October 2023 | 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 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 "16 October 2023"
When Admin initiate a DELINQUENCY PAUSE with startDate: "16 October 2023" and endDate: "30 October 2023"
Then Delinquency-actions have the following data:
| action | startDate | endDate |
| PAUSE | 16 October 2023 | 30 October 2023 |
When Admin sets the business date to "20 October 2023"
When Admin initiate a DELINQUENCY RESUME with startDate: "20 October 2023"
Then Delinquency-actions have the following data:
| action | startDate | endDate |
| PAUSE | 16 October 2023 | 30 October 2023 |
| RESUME | 20 October 2023 | |
@TestRailId:C2964
Scenario: Verify Loan delinquency pause API - PAUSE and RESUME by loanExternalId
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 |
| PIN4_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION | 01 October 2023 | 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 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 "16 October 2023"
When Admin initiate a DELINQUENCY PAUSE by loanExternalId with startDate: "16 October 2023" and endDate: "30 October 2023"
Then Delinquency-actions have the following data:
| action | startDate | endDate |
| PAUSE | 16 October 2023 | 30 October 2023 |
When Admin sets the business date to "20 October 2023"
When Admin initiate a DELINQUENCY RESUME by loanExternalId with startDate: "20 October 2023"
Then Delinquency-actions have the following data:
| action | startDate | endDate |
| PAUSE | 16 October 2023 | 30 October 2023 |
| RESUME | 20 October 2023 | |
@TestRailId:C2965
Scenario: Verify Loan delinquency pause API - PAUSE and RESUME actions supported only
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 |
| PIN4_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION | 01 October 2023 | 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 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 "16 October 2023"
Then Initiating a delinquency-action other than PAUSE or RESUME in action field results an error - startDate: "16 October 2023", endDate: "30 October 2023"
When Admin initiate a DELINQUENCY PAUSE with startDate: "16 October 2023" and endDate: "30 October 2023"
Then Delinquency-actions have the following data:
| action | startDate | endDate |
| PAUSE | 16 October 2023 | 30 October 2023 |
When Admin sets the business date to "20 October 2023"
When Admin initiate a DELINQUENCY RESUME by loanExternalId with startDate: "20 October 2023"
Then Delinquency-actions have the following data:
| action | startDate | endDate |
| PAUSE | 16 October 2023 | 30 October 2023 |
| RESUME | 20 October 2023 | |
@TestRailId:C2966
Scenario: Verify Loan delinquency pause API - PAUSE with start date on actual business date
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 |
| PIN4_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION | 01 October 2023 | 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 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 "16 October 2023"
When Admin initiate a DELINQUENCY PAUSE with startDate: "16 October 2023" and endDate: "30 October 2023"
Then Delinquency-actions have the following data:
| action | startDate | endDate |
| PAUSE | 16 October 2023 | 30 October 2023 |
@TestRailId:C2967
Scenario: Verify Loan delinquency pause API - PAUSE with start date later than actual business date
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 |
| PIN4_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION | 01 October 2023 | 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 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 "16 October 2023"
When Admin initiate a DELINQUENCY PAUSE with startDate: "25 October 2023" and endDate: "30 October 2023"
Then Delinquency-actions have the following data:
| action | startDate | endDate |
| PAUSE | 25 October 2023 | 30 October 2023 |
@TestRailId:C2968
Scenario: Verify Loan delinquency pause API - PAUSE with start date before than actual business date is possible
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 |
| PIN4_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION | 01 October 2023 | 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 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 "16 October 2023"
When Admin initiate a DELINQUENCY PAUSE with startDate: "14 October 2023" and endDate: "30 October 2023"
Then Delinquency-actions have the following data:
| action | startDate | endDate |
| PAUSE | 14 October 2023 | 30 October 2023 |
@TestRailId:C2969
Scenario: Verify Loan delinquency pause API - PAUSE action on non-active loan result an error
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 |
| PIN4_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION | 01 October 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION |
# pending approval
Then Loan status will be "SUBMITTED_AND_PENDING_APPROVAL"
Then Initiating a DELINQUENCY PAUSE on a non-active loan results an error - startDate: "16 October 2023", endDate: "30 October 2023"
# approved
And Admin successfully approves the loan on "01 October 2023" with "1000" amount and expected disbursement date on "01 October 2023"
Then Loan status will be "APPROVED"
Then Initiating a DELINQUENCY PAUSE on a non-active loan results an error - startDate: "16 October 2023", endDate: "30 October 2023"
# overpaid
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 1000 EUR transaction amount
Then Loan status will be "OVERPAID"
Then Initiating a DELINQUENCY PAUSE on a non-active loan results an error - startDate: "16 October 2023", endDate: "30 October 2023"
# closed
And Admin makes Credit Balance Refund transaction on "01 October 2023" with 250 EUR transaction amount
Then Loan status will be "CLOSED_OBLIGATIONS_MET"
When Admin sets the business date to "16 October 2023"
Then Initiating a DELINQUENCY PAUSE on a non-active loan results an error - startDate: "16 October 2023", endDate: "30 October 2023"
@TestRailId:C2970
Scenario: Verify Loan delinquency pause API - RESUME action on non-active loan result an error
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 |
| PIN4_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION | 01 October 2023 | 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 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 initiate a DELINQUENCY PAUSE with startDate: "16 October 2023" and endDate: "30 October 2023"
Then Delinquency-actions have the following data:
| action | startDate | endDate |
| PAUSE | 16 October 2023 | 30 October 2023 |
# overpaid
When Admin sets the business date to "16 October 2023"
And Customer makes "AUTOPAY" repayment on "16 October 2023" with 1000 EUR transaction amount
Then Loan status will be "OVERPAID"
Then Initiating a DELINQUENCY RESUME on a non-active loan results an error - startDate: "16 October 2023"
# closed
And Admin makes Credit Balance Refund transaction on "16 October 2023" with 250 EUR transaction amount
Then Loan status will be "CLOSED_OBLIGATIONS_MET"
Then Initiating a DELINQUENCY RESUME on a non-active loan results an error - startDate: "16 October 2023"
@TestRailId:C2971
Scenario: Verify Loan delinquency pause API - Overlapping PAUSE periods result an error
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 |
| PIN4_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION | 01 October 2023 | 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 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 "16 October 2023"
When Admin initiate a DELINQUENCY PAUSE with startDate: "16 October 2023" and endDate: "30 October 2023"
Then Delinquency-actions have the following data:
| action | startDate | endDate |
| PAUSE | 16 October 2023 | 30 October 2023 |
When Admin sets the business date to "20 October 2023"
Then Overlapping PAUSE periods result an error - startDate: "20 October 2023", endDate: "30 October 2023"
@TestRailId:C2972
Scenario: Verify Loan delinquency pause API - RESUME without an active PAUSE period results an error
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 |
| PIN4_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION | 01 October 2023 | 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 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
Then Initiating a DELINQUENCY RESUME without an active PAUSE period results an error - startDate: "01 October 2023"
@TestRailId:C2973
Scenario: Verify Loan delinquency pause API - RESUME with start date before than actual business date results an error
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 |
| PIN4_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION | 01 October 2023 | 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 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 "16 October 2023"
When Admin initiate a DELINQUENCY PAUSE with startDate: "16 October 2023" and endDate: "30 October 2023"
Then Delinquency-actions have the following data:
| action | startDate | endDate |
| PAUSE | 16 October 2023 | 30 October 2023 |
When Admin sets the business date to "20 October 2023"
Then Initiating a DELINQUENCY RESUME with start date other than actual business date results an error - startDate: "01 October 2023"
@TestRailId:C2974
Scenario: Verify Loan delinquency pause API - RESUME with start date later than actual business date results an error
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 |
| PIN4_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION | 01 October 2023 | 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 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 "16 October 2023"
When Admin initiate a DELINQUENCY PAUSE with startDate: "16 October 2023" and endDate: "30 October 2023"
Then Delinquency-actions have the following data:
| action | startDate | endDate |
| PAUSE | 16 October 2023 | 30 October 2023 |
When Admin sets the business date to "20 October 2023"
Then Initiating a DELINQUENCY RESUME with start date other than actual business date results an error - startDate: "21 October 2023"
@TestRailId:C2975
Scenario: Verify Loan delinquency pause API - RESUME with end date results an error
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 |
| PIN4_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION | 01 October 2023 | 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 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 "16 October 2023"
When Admin initiate a DELINQUENCY PAUSE with startDate: "16 October 2023" and endDate: "30 October 2023"
Then Delinquency-actions have the following data:
| action | startDate | endDate |
| PAUSE | 16 October 2023 | 30 October 2023 |
When Admin sets the business date to "20 October 2023"
Then Initiating a DELINQUENCY RESUME with an endDate results an error - startDate: "20 October 2023", endDate: "30 October 2023"
@Skip @TestRailId:C2992
Scenario: Verify Loan level loan delinquency - loan goes into delinquency pause then will be resumed
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 |
| PIN4_DOWNPAYMENT_ADV_PMT_ALLOC_PROGRESSIVE_LOAN_SCHEDULE_HORIZONTAL_INSTALLMENT_LEVEL_DELINQUENCY | 01 October 2023 | 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 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 runs inline COB job for Loan
Then Admin checks that delinquency range is: "RANGE_1" and has delinquentDate "2023-10-04"
When Admin sets the business date to "17 November 2023"
When Admin initiate a DELINQUENCY PAUSE with startDate: "17 November 2023" and endDate: "30 December 2023"
Then Delinquency-actions have the following data:
| action | startDate | endDate |
| PAUSE | 17 November 2023 | 30 December 2023 |
When Admin runs inline COB job for Loan
Then Admin checks that delinquency range is: "RANGE_30" and has delinquentDate "2023-10-04"
When Admin sets the business date to "01 December 2023"
When Admin initiate a DELINQUENCY RESUME with startDate: "01 December 2023"
Then Delinquency-actions have the following data:
| action | startDate | endDate |
| PAUSE | 17 November 2023 | 30 December 2023 |
| RESUME | 01 December 2023 | |
When Admin runs inline COB job for Loan
Then Admin checks that delinquency range is: "RANGE_30" and has delinquentDate "2023-10-04"
@TestRailId:C2979
Scenario: Verify Installment level loan delinquency - loan goes into delinquency bucket
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 |
| PIN4_DOWNPAYMENT_ADV_PMT_ALLOC_PROGRESSIVE_LOAN_SCHEDULE_HORIZONTAL_INSTALLMENT_LEVEL_DELINQUENCY | 01 October 2023 | 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 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 "16 December 2023"
When Admin runs inline COB job for Loan
Then Loan has the following INSTALLMENT level delinquency data:
| rangeId | Range | Amount |
| 3 | RANGE_30 | 500.00 |
| 4 | RANGE_60 | 500.00 |
Then Installment level delinquency event has correct data
@TestRailId:C2980
Scenario: Verify Installment level loan delinquency - loan goes from one delinquency bucket to an other
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 |
| PIN4_DOWNPAYMENT_ADV_PMT_ALLOC_PROGRESSIVE_LOAN_SCHEDULE_HORIZONTAL_INSTALLMENT_LEVEL_DELINQUENCY | 01 October 2023 | 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 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 "16 November 2023"
When Admin runs inline COB job for Loan
Then Loan has the following INSTALLMENT level delinquency data:
| rangeId | Range | Amount |
| 1 | RANGE_1 | 250.00 |
| 2 | RANGE_3 | 250.00 |
| 3 | RANGE_30 | 500.00 |
Then Installment level delinquency event has correct data
When Admin sets the business date to "16 December 2023"
When Admin runs inline COB job for Loan
Then Loan has the following INSTALLMENT level delinquency data:
| rangeId | Range | Amount |
| 3 | RANGE_30 | 500.00 |
| 4 | RANGE_60 | 500.00 |
Then Installment level delinquency event has correct data
@TestRailId:C2981
Scenario: Verify Installment level loan delinquency - loan goes out from delinquency by late repayment
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 |
| PIN4_DOWNPAYMENT_ADV_PMT_ALLOC_PROGRESSIVE_LOAN_SCHEDULE_HORIZONTAL_INSTALLMENT_LEVEL_DELINQUENCY | 01 October 2023 | 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 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 "16 December 2023"
When Admin runs inline COB job for Loan
Then Loan has the following INSTALLMENT level delinquency data:
| rangeId | Range | Amount |
| 3 | RANGE_30 | 500.00 |
| 4 | RANGE_60 | 500.00 |
Then Installment level delinquency event has correct data
When Admin sets the business date to "17 December 2023"
And Customer makes "AUTOPAY" repayment on "17 December 2023" with 1000 EUR transaction amount
Then Installment level delinquency event has correct data
Then INSTALLMENT level delinquency is null
@TestRailId:C2982
Scenario: Verify Installment level loan delinquency - some of the installments go out from delinquency by late repayment
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 |
| PIN4_DOWNPAYMENT_ADV_PMT_ALLOC_PROGRESSIVE_LOAN_SCHEDULE_HORIZONTAL_INSTALLMENT_LEVEL_DELINQUENCY | 01 October 2023 | 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 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 "25 October 2023"
When Admin runs inline COB job for Loan
Then Installment level delinquency event has correct data
Then Loan has the following INSTALLMENT level delinquency data:
| rangeId | Range | Amount |
| 2 | RANGE_3 | 500.00 |
When Admin sets the business date to "26 October 2023"
And Customer makes "AUTOPAY" repayment on "26 October 2023" with 250 EUR transaction amount
Then Installment level delinquency event has correct data
Then Loan has the following INSTALLMENT level delinquency data:
| rangeId | Range | Amount |
| 2 | RANGE_3 | 250.00 |
@TestRailId:C2983
Scenario: Verify Installment level loan delinquency - loan goes out from delinquency by Goodwill credit transaction
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 |
| PIN4_DOWNPAYMENT_ADV_PMT_ALLOC_PROGRESSIVE_LOAN_SCHEDULE_HORIZONTAL_INSTALLMENT_LEVEL_DELINQUENCY | 01 October 2023 | 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 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 "16 December 2023"
When Admin runs inline COB job for Loan
Then Loan has the following INSTALLMENT level delinquency data:
| rangeId | Range | Amount |
| 3 | RANGE_30 | 500.00 |
| 4 | RANGE_60 | 500.00 |
Then Installment level delinquency event has correct data
When Admin sets the business date to "17 December 2023"
When Customer makes "GOODWILL_CREDIT" transaction with "AUTOPAY" payment type on "17 December 2023" with 1000 EUR transaction amount and system-generated Idempotency key
Then Installment level delinquency event has correct data
Then INSTALLMENT level delinquency is null
@TestRailId:C2984
Scenario: Verify Installment level loan delinquency - some of the installments go out from delinquency by Goodwill credit transaction
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 |
| PIN4_DOWNPAYMENT_ADV_PMT_ALLOC_PROGRESSIVE_LOAN_SCHEDULE_HORIZONTAL_INSTALLMENT_LEVEL_DELINQUENCY | 01 October 2023 | 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 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 "25 October 2023"
When Admin runs inline COB job for Loan
Then Installment level delinquency event has correct data
Then Loan has the following INSTALLMENT level delinquency data:
| rangeId | Range | Amount |
| 2 | RANGE_3 | 500.00 |
When Admin sets the business date to "26 October 2023"
When Customer makes "GOODWILL_CREDIT" transaction with "AUTOPAY" payment type on "26 October 2023" with 250 EUR transaction amount and system-generated Idempotency key
Then Installment level delinquency event has correct data
Then Loan has the following INSTALLMENT level delinquency data:
| rangeId | Range | Amount |
| 2 | RANGE_3 | 250.00 |
@TestRailId:C2985
Scenario: Verify Installment level loan delinquency - loan with charges goes into delinquency bucket
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 |
| PIN4_DOWNPAYMENT_ADV_PMT_ALLOC_PROGRESSIVE_LOAN_SCHEDULE_HORIZONTAL_INSTALLMENT_LEVEL_DELINQUENCY | 01 October 2023 | 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 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 "05 October 2023" due date and 20 EUR transaction amount
When Admin sets the business date to "20 October 2023"
When Admin adds "LOAN_SNOOZE_FEE" due date charge with "20 October 2023" due date and 20 EUR transaction amount
When Admin sets the business date to "16 December 2023"
When Admin runs inline COB job for Loan
Then Loan has the following INSTALLMENT level delinquency data:
| rangeId | Range | Amount |
| 3 | RANGE_30 | 520.00 |
| 4 | RANGE_60 | 520.00 |
Then Installment level delinquency event has correct data
@TestRailId:C2987
Scenario: Verify Installment level loan delinquency - loan goes into delinquency pause
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 |
| PIN4_DOWNPAYMENT_ADV_PMT_ALLOC_PROGRESSIVE_LOAN_SCHEDULE_HORIZONTAL_INSTALLMENT_LEVEL_DELINQUENCY | 01 October 2023 | 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 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 "16 November 2023"
When Admin runs inline COB job for Loan
Then Loan has the following INSTALLMENT level delinquency data:
| rangeId | Range | Amount |
| 1 | RANGE_1 | 250.00 |
| 2 | RANGE_3 | 250.00 |
| 3 | RANGE_30 | 500.00 |
Then Installment level delinquency event has correct data
When Admin sets the business date to "17 November 2023"
When Admin initiate a DELINQUENCY PAUSE with startDate: "17 November 2023" and endDate: "30 November 2023"
Then Delinquency-actions have the following data:
| action | startDate | endDate |
| PAUSE | 17 November 2023 | 30 November 2023 |
When Admin runs inline COB job for Loan
Then Installment level delinquency event has correct data
Then Loan has the following INSTALLMENT level delinquency data:
| rangeId | Range | Amount |
| 1 | RANGE_1 | 250.00 |
| 2 | RANGE_3 | 250.00 |
| 3 | RANGE_30 | 500.00 |
When Admin sets the business date to "30 November 2023"
When Admin runs inline COB job for Loan
Then Installment level delinquency event has correct data
Then Loan has the following INSTALLMENT level delinquency data:
| rangeId | Range | Amount |
| 1 | RANGE_1 | 250.00 |
| 2 | RANGE_3 | 250.00 |
| 3 | RANGE_30 | 500.00 |
When Admin sets the business date to "01 January 2024"
When Admin runs inline COB job for Loan
Then Installment level delinquency event has correct data
Then Loan has the following INSTALLMENT level delinquency data:
| rangeId | Range | Amount |
| 3 | RANGE_30 | 500.00 |
| 4 | RANGE_60 | 500.00 |
@TestRailId:C2988
Scenario: Verify Installment level loan delinquency - loan goes into delinquency pause then will be resumed
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 |
| PIN4_DOWNPAYMENT_ADV_PMT_ALLOC_PROGRESSIVE_LOAN_SCHEDULE_HORIZONTAL_INSTALLMENT_LEVEL_DELINQUENCY | 01 October 2023 | 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 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 "16 November 2023"
When Admin runs inline COB job for Loan
Then Loan has the following INSTALLMENT level delinquency data:
| rangeId | Range | Amount |
| 1 | RANGE_1 | 250.00 |
| 2 | RANGE_3 | 250.00 |
| 3 | RANGE_30 | 500.00 |
Then Installment level delinquency event has correct data
When Admin sets the business date to "17 November 2023"
When Admin initiate a DELINQUENCY PAUSE with startDate: "17 November 2023" and endDate: "30 December 2023"
Then Delinquency-actions have the following data:
| action | startDate | endDate |
| PAUSE | 17 November 2023 | 30 December 2023 |
When Admin runs inline COB job for Loan
Then Installment level delinquency event has correct data
Then Loan has the following INSTALLMENT level delinquency data:
| rangeId | Range | Amount |
| 1 | RANGE_1 | 250.00 |
| 2 | RANGE_3 | 250.00 |
| 3 | RANGE_30 | 500.00 |
When Admin sets the business date to "01 December 2023"
When Admin initiate a DELINQUENCY RESUME with startDate: "01 December 2023"
Then Delinquency-actions have the following data:
| action | startDate | endDate |
| PAUSE | 17 November 2023 | 30 December 2023 |
| RESUME | 01 December 2023 | |
When Admin runs inline COB job for Loan
Then Installment level delinquency event has correct data
Then Loan has the following INSTALLMENT level delinquency data:
| rangeId | Range | Amount |
| 1 | RANGE_1 | 250.00 |
| 2 | RANGE_3 | 250.00 |
| 3 | RANGE_30 | 500.00 |
@TestRailId:C2990
Scenario: Verify that a non-super user with CREATE_DELINQUENCY_ACTION permission can initiate a DELINQUENCY PAUSE
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 |
| PIN4_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION | 01 October 2023 | 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 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 "16 October 2023"
When Admin creates new user with "CREATE_DELINQUENCY_ACTION_USER" username, "CREATE_DELINQUENCY_ACTION_ROLE" role name and given permissions:
| CREATE_DELINQUENCY_ACTION |
| REPAYMENT_LOAN |
When Created user with CREATE_DELINQUENCY_ACTION permission initiate a DELINQUENCY PAUSE with startDate: "16 October 2023" and endDate: "30 October 2023"
Then Delinquency-actions have the following data:
| action | startDate | endDate |
| PAUSE | 16 October 2023 | 30 October 2023 |
@TestRailId:C2991
Scenario: Verify that a non-super user with no CREATE_DELINQUENCY_ACTION permission gets an error when initiate a DELINQUENCY PAUSE
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 |
| PIN4_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION | 01 October 2023 | 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 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 "16 October 2023"
When Admin creates new user with "NO_CREATE_DELINQUENCY_ACTION_USER" username, "NO_CREATE_DELINQUENCY_ACTION_ROLE" role name and given permissions:
| REPAYMENT_LOAN |
Then Created user with no CREATE_DELINQUENCY_ACTION permission gets an error when initiate a DELINQUENCY PAUSE with startDate: "16 October 2023" and endDate: "30 October 2023"
@TestRailId:C2999
Scenario: Verify Loan delinquency pause E2E - full PAUSE period
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 |
| PIN4_DOWNPAYMENT_ADV_PMT_ALLOC_PROGRESSIVE_LOAN_SCHEDULE_HORIZONTAL_INSTALLMENT_LEVEL_DELINQUENCY | 01 October 2023 | 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 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 "02 October 2023"
When Admin runs inline COB job for Loan
Then Loan has the following LOAN level delinquency data:
| classification | delinquentAmount | delinquentDate | delinquentDays | pastDueDays |
| NO_DELINQUENCY | 250.0 | 04 October 2023 | 0 | 1 |
Then INSTALLMENT level delinquency is null
When Admin sets the business date to "04 October 2023"
When Admin runs inline COB job for Loan
Then Loan has the following LOAN level delinquency data:
| classification | delinquentAmount | delinquentDate | delinquentDays | pastDueDays |
| NO_DELINQUENCY | 250.0 | 04 October 2023 | 0 | 3 |
Then INSTALLMENT level delinquency is null
When Admin sets the business date to "05 October 2023"
When Admin runs inline COB job for Loan
Then Loan has the following LOAN level delinquency data:
| classification | delinquentAmount | delinquentDate | delinquentDays | pastDueDays |
| RANGE_1 | 250.0 | 04 October 2023 | 1 | 4 |
# --- Grace period applied only on Loan level, not on installment level ---
Then Loan has the following INSTALLMENT level delinquency data:
| rangeId | Range | Amount |
| 2 | RANGE_3 | 250.00 |
When Admin sets the business date to "06 October 2023"
When Admin initiate a DELINQUENCY PAUSE with startDate: "06 October 2023" and endDate: "30 October 2023"
Then Loan Delinquency pause periods has the following data:
| active | pausePeriodStart | pausePeriodEnd |
| true | 06 October 2023 | 30 October 2023 |
Then Delinquency-actions have the following data:
| action | startDate | endDate |
| PAUSE | 06 October 2023 | 30 October 2023 |
When Admin runs inline COB job for Loan
Then Loan has the following LOAN level delinquency data:
| classification | delinquentAmount | delinquentDate | delinquentDays | pastDueDays |
| RANGE_1 | 250.0 | 04 October 2023 | 2 | 5 |
# --- Grace period applied only on Loan level, not on installment level ---
Then Loan has the following INSTALLMENT level delinquency data:
| rangeId | Range | Amount |
| 2 | RANGE_3 | 250.00 |
When Admin sets the business date to "30 October 2023"
When Admin runs inline COB job for Loan
Then Loan has the following LOAN level delinquency data:
| classification | delinquentAmount | delinquentDate | delinquentDays | pastDueDays |
| RANGE_1 | 500.0 | 04 October 2023 | 2 | 29 |
Then Loan Delinquency pause periods has the following data:
| active | pausePeriodStart | pausePeriodEnd |
| true | 06 October 2023 | 30 October 2023 |
# --- Grace period applied only on Loan level, not on installment level ---
Then Loan has the following INSTALLMENT level delinquency data:
| rangeId | Range | Amount |
| 2 | RANGE_3 | 250.00 |
When Admin sets the business date to "31 October 2023"
When Admin runs inline COB job for Loan
Then Loan has the following LOAN level delinquency data:
| classification | delinquentAmount | delinquentDate | delinquentDays | pastDueDays |
| RANGE_1 | 500.0 | 04 October 2023 | 3 | 30 |
Then Loan Delinquency pause periods has the following data:
| active | pausePeriodStart | pausePeriodEnd |
| false | 06 October 2023 | 30 October 2023 |
# --- Grace period applied only on Loan level, not on installment level ---
Then Loan has the following INSTALLMENT level delinquency data:
| rangeId | Range | Amount |
| 2 | RANGE_3 | 250.00 |
@TestRailId:C3000
Scenario: Verify Loan delinquency pause E2E - PAUSE period with RESUME
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 |
| PIN4_DOWNPAYMENT_ADV_PMT_ALLOC_PROGRESSIVE_LOAN_SCHEDULE_HORIZONTAL_INSTALLMENT_LEVEL_DELINQUENCY | 01 October 2023 | 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 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
# --- Delinquency pause ---
When Admin sets the business date to "15 October 2023"
When Admin initiate a DELINQUENCY PAUSE with startDate: "15 October 2023" and endDate: "30 October 2023"
When Admin runs inline COB job for Loan
Then Loan Delinquency pause periods has the following data:
| active | pausePeriodStart | pausePeriodEnd |
| true | 15 October 2023 | 30 October 2023 |
Then Delinquency-actions have the following data:
| action | startDate | endDate |
| PAUSE | 15 October 2023 | 30 October 2023 |
Then Loan has the following LOAN level delinquency data:
| classification | delinquentAmount | delinquentDate | delinquentDays | pastDueDays |
| RANGE_3 | 250.0 | 04 October 2023 | 11 | 14 |
Then Loan has the following INSTALLMENT level delinquency data:
| rangeId | Range | Amount |
| 2 | RANGE_3 | 250.00 |
Then Installment level delinquency event has correct data
# --- Delinquency resume ---
When Admin sets the business date to "25 October 2023"
When Admin initiate a DELINQUENCY RESUME with startDate: "25 October 2023"
When Admin runs inline COB job for Loan
Then Loan Delinquency pause periods has the following data:
| active | pausePeriodStart | pausePeriodEnd |
| true | 15 October 2023 | 25 October 2023 |
When Admin sets the business date to "26 October 2023"
Then Loan Delinquency pause periods has the following data:
| active | pausePeriodStart | pausePeriodEnd |
| false | 15 October 2023 | 25 October 2023 |
Then Delinquency-actions have the following data:
| action | startDate | endDate |
| PAUSE | 15 October 2023 | 30 October 2023 |
| RESUME | 25 October 2023 | |
Then Loan has the following LOAN level delinquency data:
| classification | delinquentAmount | delinquentDate | delinquentDays | pastDueDays |
| RANGE_3 | 500.0 | 04 October 2023 | 12 | 25 |
Then Loan has the following INSTALLMENT level delinquency data:
| rangeId | Range | Amount |
| 2 | RANGE_3 | 250.00 |
Then Installment level delinquency event has correct data
@TestRailId:C3001
Scenario: Verify Loan delinquency pause E2E - PAUSE period with RESUME and second PAUSE
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 |
| PIN4_DOWNPAYMENT_ADV_PMT_ALLOC_PROGRESSIVE_LOAN_SCHEDULE_HORIZONTAL_INSTALLMENT_LEVEL_DELINQUENCY | 01 October 2023 | 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 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
# --- Delinquency pause ---
When Admin sets the business date to "15 October 2023"
When Admin initiate a DELINQUENCY PAUSE with startDate: "15 October 2023" and endDate: "30 October 2023"
When Admin runs inline COB job for Loan
Then Loan Delinquency pause periods has the following data:
| active | pausePeriodStart | pausePeriodEnd |
| true | 15 October 2023 | 30 October 2023 |
Then Delinquency-actions have the following data:
| action | startDate | endDate |
| PAUSE | 15 October 2023 | 30 October 2023 |
Then Loan has the following LOAN level delinquency data:
| classification | delinquentAmount | delinquentDate | delinquentDays | pastDueDays |
| RANGE_3 | 250.0 | 04 October 2023 | 11 | 14 |
Then Loan has the following INSTALLMENT level delinquency data:
| rangeId | Range | Amount |
| 2 | RANGE_3 | 250.00 |
Then Installment level delinquency event has correct data
# --- Delinquency resume ---
When Admin sets the business date to "25 October 2023"
When Admin initiate a DELINQUENCY RESUME with startDate: "25 October 2023"
When Admin runs inline COB job for Loan
Then Loan Delinquency pause periods has the following data:
| active | pausePeriodStart | pausePeriodEnd |
| true | 15 October 2023 | 25 October 2023 |
When Admin sets the business date to "26 October 2023"
Then Loan Delinquency pause periods has the following data:
| active | pausePeriodStart | pausePeriodEnd |
| false | 15 October 2023 | 25 October 2023 |
Then Delinquency-actions have the following data:
| action | startDate | endDate |
| PAUSE | 15 October 2023 | 30 October 2023 |
| RESUME | 25 October 2023 | |
Then Loan has the following LOAN level delinquency data:
| classification | delinquentAmount | delinquentDate | delinquentDays | pastDueDays |
| RANGE_3 | 500.0 | 04 October 2023 | 12 | 25 |
Then Loan has the following INSTALLMENT level delinquency data:
| rangeId | Range | Amount |
| 2 | RANGE_3 | 250.00 |
Then Installment level delinquency event has correct data
# --- Delinquency runs ---
When Admin sets the business date to "13 November 2023"
When Admin runs inline COB job for Loan
Then Loan Delinquency pause periods has the following data:
| active | pausePeriodStart | pausePeriodEnd |
| false | 15 October 2023 | 25 October 2023 |
Then Delinquency-actions have the following data:
| action | startDate | endDate |
| PAUSE | 15 October 2023 | 30 October 2023 |
| RESUME | 25 October 2023 | |
Then Loan has the following LOAN level delinquency data:
| classification | delinquentAmount | delinquentDate | delinquentDays | pastDueDays |
| RANGE_3 | 750.0 | 04 October 2023 | 30 | 43 |
Then Loan has the following INSTALLMENT level delinquency data:
| rangeId | Range | Amount |
| 1 | RANGE_1 | 250.00 |
| 2 | RANGE_3 | 250.00 |
| 3 | RANGE_30 | 250.00 |
# --- Second delinquency pause ---
When Admin sets the business date to "14 November 2023"
When Admin initiate a DELINQUENCY PAUSE with startDate: "14 November 2023" and endDate: "30 November 2023"
When Admin runs inline COB job for Loan
Then Loan Delinquency pause periods has the following data:
| active | pausePeriodStart | pausePeriodEnd |
| false | 15 October 2023 | 25 October 2023 |
| true | 14 November 2023 | 30 November 2023 |
Then Delinquency-actions have the following data:
| action | startDate | endDate |
| PAUSE | 15 October 2023 | 30 October 2023 |
| RESUME | 25 October 2023 | |
| PAUSE | 14 November 2023 | 30 November 2023 |
Then Loan has the following LOAN level delinquency data:
| classification | delinquentAmount | delinquentDate | delinquentDays | pastDueDays |
| RANGE_3 | 750.0 | 04 October 2023 | 31 | 44 |
Then Loan has the following INSTALLMENT level delinquency data:
| rangeId | Range | Amount |
| 1 | RANGE_1 | 250.00 |
| 2 | RANGE_3 | 250.00 |
| 3 | RANGE_30 | 250.00 |
Then Installment level delinquency event has correct data
# --- Second delinquency ends ---
When Admin sets the business date to "30 November 2023"
When Admin runs inline COB job for Loan
Then Loan Delinquency pause periods has the following data:
| active | pausePeriodStart | pausePeriodEnd |
| false | 15 October 2023 | 25 October 2023 |
| true | 14 November 2023 | 30 November 2023 |
Then Delinquency-actions have the following data:
| action | startDate | endDate |
| PAUSE | 15 October 2023 | 30 October 2023 |
| RESUME | 25 October 2023 | |
| PAUSE | 14 November 2023 | 30 November 2023 |
Then Loan has the following LOAN level delinquency data:
| classification | delinquentAmount | delinquentDate | delinquentDays | pastDueDays |
| RANGE_30 | 1000.0 | 04 October 2023 | 31 | 60 |
Then Loan has the following INSTALLMENT level delinquency data:
| rangeId | Range | Amount |
| 2 | RANGE_3 | 500.00 |
| 3 | RANGE_30 | 250.00 |
# --- Delinquency runs again ---
When Admin sets the business date to "01 December 2023"
When Admin runs inline COB job for Loan
Then Loan Delinquency pause periods has the following data:
| active | pausePeriodStart | pausePeriodEnd |
| false | 15 October 2023 | 25 October 2023 |
| false | 14 November 2023 | 30 November 2023 |
Then Delinquency-actions have the following data:
| action | startDate | endDate |
| PAUSE | 15 October 2023 | 30 October 2023 |
| RESUME | 25 October 2023 | |
| PAUSE | 14 November 2023 | 30 November 2023 |
Then Loan has the following LOAN level delinquency data:
| classification | delinquentAmount | delinquentDate | delinquentDays | pastDueDays |
| RANGE_30 | 1000.0 | 04 October 2023 | 32 | 61 |
Then Loan has the following INSTALLMENT level delinquency data:
| rangeId | Range | Amount |
| 2 | RANGE_3 | 500.00 |
| 3 | RANGE_30 | 250.00 |
Then Installment level delinquency event has correct data
@TestRailId:C3002
Scenario: Verify Loan delinquency pause E2E - full repayment (late/due date) during PAUSE period
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 |
| PIN4_DOWNPAYMENT_ADV_PMT_ALLOC_PROGRESSIVE_LOAN_SCHEDULE_HORIZONTAL_INSTALLMENT_LEVEL_DELINQUENCY | 01 October 2023 | 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 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
# --- Delinquency pause ---
When Admin sets the business date to "06 October 2023"
When Admin initiate a DELINQUENCY PAUSE with startDate: "06 October 2023" and endDate: "30 October 2023"
When Admin runs inline COB job for Loan
Then Loan Delinquency pause periods has the following data:
| active | pausePeriodStart | pausePeriodEnd |
| true | 06 October 2023 | 30 October 2023 |
Then Delinquency-actions have the following data:
| action | startDate | endDate |
| PAUSE | 06 October 2023 | 30 October 2023 |
Then Loan has the following LOAN level delinquency data:
| classification | delinquentAmount | delinquentDate | delinquentDays | pastDueDays |
| RANGE_1 | 250.0 | 04 October 2023 | 2 | 5 |
# --- Grace period applied only on Loan level, not on installment level ---
Then Loan has the following INSTALLMENT level delinquency data:
| rangeId | Range | Amount |
| 2 | RANGE_3 | 250.00 |
Then Installment level delinquency event has correct data
# --- Full repayment for late/due date installments ---
When Admin sets the business date to "16 October 2023"
Then Loan Delinquency pause periods has the following data:
| active | pausePeriodStart | pausePeriodEnd |
| true | 06 October 2023 | 30 October 2023 |
Then Delinquency-actions have the following data:
| action | startDate | endDate |
| PAUSE | 06 October 2023 | 30 October 2023 |
Then Loan has the following LOAN level delinquency data:
| classification | delinquentAmount | delinquentDate | delinquentDays | pastDueDays |
| RANGE_1 | 250.0 | 04 October 2023 | 2 | 15 |
# --- Grace period applied only on Loan level, not on installment level ---
Then Loan has the following INSTALLMENT level delinquency data:
| rangeId | Range | Amount |
| 2 | RANGE_3 | 250.00 |
And Customer makes "AUTOPAY" repayment on "16 October 2023" with 500 EUR transaction amount
When Admin runs inline COB job for Loan
Then Loan Delinquency pause periods has the following data:
| active | pausePeriodStart | pausePeriodEnd |
| true | 06 October 2023 | 30 October 2023 |
Then Delinquency-actions have the following data:
| action | startDate | endDate |
| PAUSE | 06 October 2023 | 30 October 2023 |
Then Loan has the following LOAN level delinquency data:
| classification | delinquentAmount | delinquentDate | delinquentDays | pastDueDays |
| NO_DELINQUENCY | 0.0 | null | 0 | 0 |
Then INSTALLMENT level delinquency is null
@TestRailId:C3003
Scenario: Verify Loan delinquency pause E2E - partial repayment during PAUSE period
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 |
| PIN4_DOWNPAYMENT_ADV_PMT_ALLOC_PROGRESSIVE_LOAN_SCHEDULE_HORIZONTAL_INSTALLMENT_LEVEL_DELINQUENCY | 01 October 2023 | 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 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
# --- Delinquency pause ---
When Admin sets the business date to "06 October 2023"
When Admin initiate a DELINQUENCY PAUSE with startDate: "06 October 2023" and endDate: "30 October 2023"
When Admin runs inline COB job for Loan
Then Loan Delinquency pause periods has the following data:
| active | pausePeriodStart | pausePeriodEnd |
| true | 06 October 2023 | 30 October 2023 |
Then Delinquency-actions have the following data:
| action | startDate | endDate |
| PAUSE | 06 October 2023 | 30 October 2023 |
Then Loan has the following LOAN level delinquency data:
| classification | delinquentAmount | delinquentDate | delinquentDays | pastDueDays |
| RANGE_1 | 250.0 | 04 October 2023 | 2 | 5 |
# --- Grace period applied only on Loan level, not on installment level ---
Then Loan has the following INSTALLMENT level delinquency data:
| rangeId | Range | Amount |
| 2 | RANGE_3 | 250.00 |
Then Installment level delinquency event has correct data
# --- Full repayment for late/due date installments ---
When Admin sets the business date to "16 October 2023"
Then Loan Delinquency pause periods has the following data:
| active | pausePeriodStart | pausePeriodEnd |
| true | 06 October 2023 | 30 October 2023 |
Then Delinquency-actions have the following data:
| action | startDate | endDate |
| PAUSE | 06 October 2023 | 30 October 2023 |
Then Loan has the following LOAN level delinquency data:
| classification | delinquentAmount | delinquentDate | delinquentDays | pastDueDays |
| RANGE_1 | 250.0 | 04 October 2023 | 2 | 15 |
# --- Grace period applied only on Loan level, not on installment level ---
Then Loan has the following INSTALLMENT level delinquency data:
| rangeId | Range | Amount |
| 2 | RANGE_3 | 250.00 |
And Customer makes "AUTOPAY" repayment on "16 October 2023" with 150 EUR transaction amount
When Admin runs inline COB job for Loan
Then Loan Delinquency pause periods has the following data:
| active | pausePeriodStart | pausePeriodEnd |
| true | 06 October 2023 | 30 October 2023 |
Then Delinquency-actions have the following data:
| action | startDate | endDate |
| PAUSE | 06 October 2023 | 30 October 2023 |
Then Loan has the following LOAN level delinquency data:
| classification | delinquentAmount | delinquentDate | delinquentDays | pastDueDays |
| RANGE_1 | 100.0 | 04 October 2023 | 2 | 15 |
# --- Grace period applied only on Loan level, not on installment level ---
Then Loan has the following INSTALLMENT level delinquency data:
| rangeId | Range | Amount |
| 2 | RANGE_3 | 100.00 |
@TestRailId:C3004
Scenario: Verify Loan delinquency pause E2E - full repayment (only late) during PAUSE period then RESUME
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 |
| PIN4_DOWNPAYMENT_ADV_PMT_ALLOC_PROGRESSIVE_LOAN_SCHEDULE_HORIZONTAL_INSTALLMENT_LEVEL_DELINQUENCY | 01 October 2023 | 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 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
# --- Delinquency pause ---
When Admin sets the business date to "06 October 2023"
When Admin initiate a DELINQUENCY PAUSE with startDate: "06 October 2023" and endDate: "30 October 2023"
When Admin runs inline COB job for Loan
Then Loan Delinquency pause periods has the following data:
| active | pausePeriodStart | pausePeriodEnd |
| true | 06 October 2023 | 30 October 2023 |
Then Delinquency-actions have the following data:
| action | startDate | endDate |
| PAUSE | 06 October 2023 | 30 October 2023 |
Then Loan has the following LOAN level delinquency data:
| classification | delinquentAmount | delinquentDate | delinquentDays | pastDueDays |
| RANGE_1 | 250.0 | 04 October 2023 | 2 | 5 |
# --- Grace period applied only on Loan level, not on installment level ---
Then Loan has the following INSTALLMENT level delinquency data:
| rangeId | Range | Amount |
| 2 | RANGE_3 | 250.00 |
Then Installment level delinquency event has correct data
# --- Full repayment for late/due date installments ---
When Admin sets the business date to "16 October 2023"
Then Loan Delinquency pause periods has the following data:
| active | pausePeriodStart | pausePeriodEnd |
| true | 06 October 2023 | 30 October 2023 |
Then Delinquency-actions have the following data:
| action | startDate | endDate |
| PAUSE | 06 October 2023 | 30 October 2023 |
Then Loan has the following LOAN level delinquency data:
| classification | delinquentAmount | delinquentDate | delinquentDays | pastDueDays |
| RANGE_1 | 250.0 | 04 October 2023 | 2 | 15 |
# --- Grace period applied only on Loan level, not on installment level ---
Then Loan has the following INSTALLMENT level delinquency data:
| rangeId | Range | Amount |
| 2 | RANGE_3 | 250.00 |
And Customer makes "AUTOPAY" repayment on "16 October 2023" with 250 EUR transaction amount
When Admin runs inline COB job for Loan
Then Loan Delinquency pause periods has the following data:
| active | pausePeriodStart | pausePeriodEnd |
| true | 06 October 2023 | 30 October 2023 |
Then Delinquency-actions have the following data:
| action | startDate | endDate |
| PAUSE | 06 October 2023 | 30 October 2023 |
Then Loan has the following LOAN level delinquency data:
| classification | delinquentAmount | delinquentDate | delinquentDays | pastDueDays |
| NO_DELINQUENCY | 0.0 | null | 0 | 0 |
Then INSTALLMENT level delinquency is null
# --- Delinquency resume ---
When Admin sets the business date to "25 October 2023"
When Admin initiate a DELINQUENCY RESUME with startDate: "25 October 2023"
When Admin runs inline COB job for Loan
Then Loan Delinquency pause periods has the following data:
| active | pausePeriodStart | pausePeriodEnd |
| true | 06 October 2023 | 25 October 2023 |
When Admin sets the business date to "26 October 2023"
Then Loan Delinquency pause periods has the following data:
| active | pausePeriodStart | pausePeriodEnd |
| false | 06 October 2023 | 25 October 2023 |
Then Delinquency-actions have the following data:
| action | startDate | endDate |
| PAUSE | 06 October 2023 | 30 October 2023 |
| RESUME | 25 October 2023 | |
Then Loan has the following LOAN level delinquency data:
| classification | delinquentAmount | delinquentDate | delinquentDays | pastDueDays |
| NO_DELINQUENCY | 250.0 | 19 October 2023 | 0 | 10 |
Then INSTALLMENT level delinquency is null
# --- Delinquency runs ---
When Admin sets the business date to "15 November 2023"
When Admin runs inline COB job for Loan
Then Loan Delinquency pause periods has the following data:
| active | pausePeriodStart | pausePeriodEnd |
| false | 06 October 2023 | 25 October 2023 |
Then Delinquency-actions have the following data:
| action | startDate | endDate |
| PAUSE | 06 October 2023 | 30 October 2023 |
| RESUME | 25 October 2023 | |
Then Loan has the following LOAN level delinquency data:
| classification | delinquentAmount | delinquentDate | delinquentDays | pastDueDays |
| RANGE_3 | 500.0 | 19 October 2023 | 8 | 30 |
# --- Grace period applied only on Loan level, not on installment level ---
Then Loan has the following INSTALLMENT level delinquency data:
| rangeId | Range | Amount |
| 2 | RANGE_3 | 250.00 |
Then Installment level delinquency event has correct data
@TestRailId:C3013
Scenario: Verify that in case of resume on end/start date of continous pause periods first period ends automatically, second period ended by resume
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 |
| PIN4_DOWNPAYMENT_ADV_PMT_ALLOC_PROGRESSIVE_LOAN_SCHEDULE_HORIZONTAL_INSTALLMENT_LEVEL_DELINQUENCY | 01 October 2023 | 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 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 "25 October 2023"
When Admin initiate a DELINQUENCY PAUSE with startDate: "25 October 2023" and endDate: "30 October 2023"
Then Delinquency-actions have the following data:
| action | startDate | endDate |
| PAUSE | 25 October 2023 | 30 October 2023 |
Then Loan Delinquency pause periods has the following data:
| active | pausePeriodStart | pausePeriodEnd |
| true | 25 October 2023 | 30 October 2023 |
When Admin sets the business date to "30 October 2023"
When Admin initiate a DELINQUENCY PAUSE with startDate: "30 October 2023" and endDate: "15 November 2023"
Then Delinquency-actions have the following data:
| action | startDate | endDate |
| PAUSE | 25 October 2023 | 30 October 2023 |
| PAUSE | 30 October 2023 | 15 November 2023 |
Then Loan Delinquency pause periods has the following data:
| active | pausePeriodStart | pausePeriodEnd |
| true | 25 October 2023 | 30 October 2023 |
| true | 30 October 2023 | 15 November 2023 |
Then Loan has the following LOAN level delinquency data:
| classification | delinquentAmount | delinquentDate | delinquentDays | pastDueDays |
| NO_DELINQUENCY | 500.0 | 04 October 2023 | 21 | 29 |
Then INSTALLMENT level delinquency is null
When Admin initiate a DELINQUENCY RESUME with startDate: "30 October 2023"
Then Loan has the following LOAN level delinquency data:
| classification | delinquentAmount | delinquentDate | delinquentDays | pastDueDays |
| NO_DELINQUENCY | 500.0 | 04 October 2023 | 21 | 29 |
Then INSTALLMENT level delinquency is null
When Admin runs inline COB job for Loan
Then Delinquency-actions have the following data:
| action | startDate | endDate |
| PAUSE | 25 October 2023 | 30 October 2023 |
| PAUSE | 30 October 2023 | 15 November 2023 |
| RESUME | 30 October 2023 | |
Then Loan Delinquency pause periods has the following data:
| active | pausePeriodStart | pausePeriodEnd |
| true | 25 October 2023 | 30 October 2023 |
| true | 30 October 2023 | 30 October 2023 |
Then Loan has the following LOAN level delinquency data:
| classification | delinquentAmount | delinquentDate | delinquentDays | pastDueDays |
| RANGE_3 | 500.0 | 04 October 2023 | 21 | 29 |
Then Loan has the following INSTALLMENT level delinquency data:
| rangeId | Range | Amount |
| 2 | RANGE_3 | 500.00 |
When Admin sets the business date to "31 October 2023"
Then Loan Delinquency pause periods has the following data:
| active | pausePeriodStart | pausePeriodEnd |
| false | 25 October 2023 | 30 October 2023 |
| false | 30 October 2023 | 30 October 2023 |
Then Loan has the following LOAN level delinquency data:
| classification | delinquentAmount | delinquentDate | delinquentDays | pastDueDays |
| RANGE_3 | 500.0 | 04 October 2023 | 22 | 30 |
Then Loan has the following INSTALLMENT level delinquency data:
| rangeId | Range | Amount |
| 2 | RANGE_3 | 500.00 |
@TestRailId:C3014
Scenario: Verify that creating a loan with Advanced payment allocation with product no Advanced payment allocation set results an error
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 Advanced payment allocation and with product no Advanced payment allocation set results an error:
| 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 |
| PIN30 | 01 October 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION |
@TestRailId:C3015
Scenario: Verify Backdated Pause Delinquency - Event Trigger: LoanDelinquencyRangeChangeBusinessEvent, LoanAccountDelinquencyPauseChangedBusinessEvent check
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 |
| PIN4_DOWNPAYMENT_ADV_PMT_ALLOC_PROGRESSIVE_LOAN_SCHEDULE_HORIZONTAL_INSTALLMENT_LEVEL_DELINQUENCY | 01 October 2023 | 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 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 "25 October 2023"
When Admin runs inline COB job for Loan
Then Loan has the following LOAN level delinquency data:
| classification | delinquentAmount | delinquentDate | delinquentDays | pastDueDays |
| RANGE_3 | 500.0 | 04 October 2023 | 21 | 24 |
Then Loan has the following INSTALLMENT level delinquency data:
| rangeId | Range | Amount |
| 2 | RANGE_3 | 500.00 |
When Admin sets the business date to "27 October 2023"
# event checks included in next steps
When Admin initiate a DELINQUENCY PAUSE with startDate: "25 October 2023" and endDate: "15 November 2023"
Then Admin checks that delinquency range is: "RANGE_3" and has delinquentDate "2023-10-04"
Then Installment level delinquency event has correct data
Then Delinquency-actions have the following data:
| action | startDate | endDate |
| PAUSE | 25 October 2023 | 15 November 2023 |
Then Loan Delinquency pause periods has the following data:
| active | pausePeriodStart | pausePeriodEnd |
| true | 25 October 2023 | 15 November 2023 |
Then Loan has the following LOAN level delinquency data:
| classification | delinquentAmount | delinquentDate | delinquentDays | pastDueDays |
| RANGE_3 | 500.0 | 04 October 2023 | 21 | 26 |
Then Loan has the following INSTALLMENT level delinquency data:
| rangeId | Range | Amount |
| 2 | RANGE_3 | 500.00 |
@TestRailId:C3016
Scenario: Verify that for pause period calculations business date is being used instead of COB date
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 |
| PIN4_DOWNPAYMENT_ADV_PMT_ALLOC_PROGRESSIVE_LOAN_SCHEDULE_HORIZONTAL_INSTALLMENT_LEVEL_DELINQUENCY | 01 October 2023 | 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 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
# --- Delinquency pause ---
When Admin sets the business date to "05 October 2023"
When Admin initiate a DELINQUENCY PAUSE with startDate: "16 October 2023" and endDate: "25 October 2023"
When Admin runs inline COB job for Loan
When Admin sets the business date to "25 October 2023"
When Admin runs inline COB job for Loan
# --- Because of grace period 3 days delinguency won't start ---
When Admin sets the business date to "26 October 2023"
When Admin runs inline COB job for Loan
Then Loan has the following LOAN level delinquency data:
| classification | delinquentAmount | delinquentDate | delinquentDays | pastDueDays |
| NO_DELINQUENCY | 250.0 | 19 October 2023 | 0 | 10 |
Then INSTALLMENT level delinquency is null
# -----------
When Admin sets the business date to "27 October 2023"
When Admin runs inline COB job for Loan
Then Loan has the following LOAN level delinquency data:
| classification | delinquentAmount | delinquentDate | delinquentDays | pastDueDays |
| NO_DELINQUENCY | 250.0 | 19 October 2023 | 0 | 11 |
Then INSTALLMENT level delinquency is null
# -----------
When Admin sets the business date to "28 October 2023"
When Admin runs inline COB job for Loan
Then Loan has the following LOAN level delinquency data:
| classification | delinquentAmount | delinquentDate | delinquentDays | pastDueDays |
| NO_DELINQUENCY | 250.0 | 19 October 2023 | 0 | 12 |
Then INSTALLMENT level delinquency is null
# --- After grace period ends delinquency starts ---
When Admin sets the business date to "29 October 2023"
When Admin runs inline COB job for Loan
Then Loan has the following LOAN level delinquency data:
| classification | delinquentAmount | delinquentDate | delinquentDays | pastDueDays |
| RANGE_1 | 250.0 | 19 October 2023 | 1 | 13 |
# --- Grace period applied only on Loan level, not on installment level ---
Then Loan has the following INSTALLMENT level delinquency data:
| rangeId | Range | Amount |
| 2 | RANGE_3 | 250.00 |
Then Installment level delinquency event has correct data
Then Loan Delinquency pause periods has the following data:
| active | pausePeriodStart | pausePeriodEnd |
| false | 16 October 2023 | 25 October 2023 |
Then Delinquency-actions have the following data:
| action | startDate | endDate |
| PAUSE | 16 October 2023 | 25 October 2023 |
@TestRailId:C3018
Scenario: Verify that if Global configuration: next-payment-due-date is set to: earliest-unpaid-date then in Loan details delinquent.nextPaymentDueDate will be the first unpaid installment date
When Global config "next-payment-due-date" value set to "earliest-unpaid-date"
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 |
| PIN4_DOWNPAYMENT_ADV_PMT_ALLOC_PROGRESSIVE_LOAN_SCHEDULE_HORIZONTAL_INSTALLMENT_LEVEL_DELINQUENCY | 01 October 2023 | 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 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"
Then Loan details delinquent.nextPaymentDueDate will be "01 October 2023"
When Admin sets the business date to "21 October 2023"
Then Loan details delinquent.nextPaymentDueDate will be "01 October 2023"
When Global config "next-payment-due-date" value set to "earliest-unpaid-date"
@TestRailId:C3019
Scenario: Verify that if Global configuration: next-payment-due-date is set to: next-unpaid-due-date then in Loan details delinquent.nextPaymentDueDate will be the next unpaid installment date regardless of the status of previous installments
When Global config "next-payment-due-date" value set to "next-unpaid-due-date"
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 |
| PIN4_DOWNPAYMENT_ADV_PMT_ALLOC_PROGRESSIVE_LOAN_SCHEDULE_HORIZONTAL_INSTALLMENT_LEVEL_DELINQUENCY | 01 October 2023 | 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 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"
Then Loan details delinquent.nextPaymentDueDate will be "16 October 2023"
When Admin sets the business date to "21 October 2023"
Then Loan details delinquent.nextPaymentDueDate will be "31 October 2023"
When Global config "next-payment-due-date" value set to "earliest-unpaid-date"
@TestRailId:C3032
Scenario: Verify that delinquencyRange field in LoanAccountDelinquencyRangeDataV1 is not null in case of delinquent 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 |
| PIN4_DOWNPAYMENT_ADV_PMT_ALLOC_PROGRESSIVE_LOAN_SCHEDULE_HORIZONTAL_INSTALLMENT_LEVEL_DELINQUENCY | 01 October 2023 | 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 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 "01 December 2023"
When Admin runs inline COB job for Loan
Then LoanAccountDelinquencyRangeDataV1 has delinquencyRange field with value "RANGE_30"
Then Loan has the following LOAN level delinquency data:
| classification | delinquentAmount | delinquentDate | delinquentDays | pastDueDays |
| RANGE_30 | 1000.0 | 04 October 2023 | 58 | 61 |
@TestRailId:C3035
Scenario: Verify that delinquency is NOT applied after loan submitted and approved
When Admin sets the business date to "30 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 |
| PIN4_DOWNPAYMENT_ADV_PMT_ALLOC_PROGRESSIVE_LOAN_SCHEDULE_HORIZONTAL_INSTALLMENT_LEVEL_DELINQUENCY | 01 October 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION |
Then Loan has the following LOAN level delinquency data:
| classification | delinquentAmount | delinquentDate | delinquentDays | pastDueDays |
| NO_DELINQUENCY | 0.0 | null | 0 | 0 |
And Admin successfully approves the loan on "01 October 2023" with "1000" amount and expected disbursement date on "01 October 2023"
Then Loan has the following LOAN level delinquency data:
| classification | delinquentAmount | delinquentDate | delinquentDays | pastDueDays |
| NO_DELINQUENCY | 0.0 | null | 0 | 0 |
@TestRailId:C3047
Scenario: Verify that delinquent.lastRepaymentAmount is calculated correctly in case of auto downpayment
When Admin sets the business date to "01 February 2024"
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 |
| PIN4_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION | 01 February 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 February 2024" with "1000" amount and expected disbursement date on "01 February 2024"
When Admin successfully disburse the loan on "01 February 2024" with "1000" EUR transaction amount
When Admin sets the business date to "01 April 2024"
Then In Loan details delinquent.lastRepaymentAmount is 250 EUR with lastRepaymentDate "01 February 2024"
@TestRailId:C3066 @AdvancedPaymentAllocation
Scenario: Verify that on Loans in SUBMITTED_AND_PENDING_APPROVAL or APPROVED status delinquency is not applied
When Admin sets the business date to "01 February 2024"
When Admin creates a client with random data
When Admin set "PIN4_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 |
| PIN4_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION | 01 February 2024 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION |
When Admin sets the business date to "01 March 2024"
When Admin runs inline COB job for Loan
Then Admin checks that delinquency range is: "NO_DELINQUENCY" and has delinquentDate ""
And Admin successfully approves the loan on "01 March 2024" with "1000" amount and expected disbursement date on "01 March 2024"
Then Admin checks that delinquency range is: "NO_DELINQUENCY" and has delinquentDate ""
# TODO remove skip when LoanDelinquencyRangeChangeBusinessEvent has wrong values compared to LoanDetails is done and scenario below here does not fail
@Skip @TestRailId:C3093
Scenario: Verify that LoanDelinquencyRangeChangeBusinessEvent has the correct Delinquency range, date and amount on both loan- and installment-level
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:
| 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 |
| PIN4_DOWNPAYMENT_ADV_PMT_ALLOC_PROGRESSIVE_LOAN_SCHEDULE_HORIZONTAL_INSTALLMENT_LEVEL_DELINQUENCY | 01 January 2024 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 90 | DAYS | 30 | 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 "05 March 2024"
When Admin runs inline COB job for Loan
Then Loan has the following LOAN level delinquency data:
| classification | delinquentAmount | delinquentDate | delinquentDays | pastDueDays |
| RANGE_60 | 750.0 | 04 January 2024 | 61 | 64 |
Then Loan has the following INSTALLMENT level delinquency data:
| rangeId | Range | Amount |
| 2 | RANGE_3 | 250.00 |
| 3 | RANGE_30 | 250.00 |
| 4 | RANGE_60 | 250.00 |
Then LoanDelinquencyRangeChangeBusinessEvent has the same Delinquency range, date and amount as in LoanDetails on both loan- and installment-level