[
https://issues.apache.org/jira/browse/FINERACT-2649?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Krishna Mewara updated FINERACT-2649:
-------------------------------------
Description:
Migrate all ~118 loan integration tests currently extending
{{BaseLoanIntegrationTest}} to extend {{{}FeignLoanTestBase{}}}, replacing
REST-assured HTTP calls with the typed Feign client. This eliminates
REST-assured as a test dependency for loan tests and aligns with the project's
long-term goal of full Feign client adoption.
----
Current state:
* 84 test classes still extend {{BaseLoanIntegrationTest}} (REST-assured)
* 39 migrated so far (PR1 merged + PR2 in progress)
* 45 test classes extend {{FeignLoanTestBase}} (Feign) — includes 6
pre-existing Feign-only tests
* {{FeignLoanTestBase}} covers most of the base class API; PR3/PR4 need COB,
batch, external events, and cumulative/APA helpers
Target state:
* 0 test classes extend {{BaseLoanIntegrationTest}}
* All loan tests use the typed Feign client
* {{BaseLoanIntegrationTest}} can be deleted or deprecated
----
Approach
Split into 4 batch PRs ordered by infrastructure dependency complexity:
||PR||GitHub||~Classes||Scope||
|PR1|[#6005|https://github.com/apache/fineract/pull/6005] merged|5|Simple
lifecycle no GL accounting, no charges, no advanced features|
|PR2| |34|Charge-off, fraud, delinquency, progressive, accrual, waive/refund,
reverse-replay|
|PR3|TBD|53|Reschedule, chargeback, cumulative/APA, client loan,
transaction-heavy tests|
|PR4|TBD|31|COB, inline COB, external asset owner, batch API, GL journals,
permissions, edge cases|
was:
Migrate all *118 loan integration tests* currently extending
{{BaseLoanIntegrationTest}} to extend {{{}FeignLoanTestBase{}}}, replacing
REST-assured HTTP calls with the typed Feign client. This eliminates
REST-assured as a test dependency for loan tests and aligns with the project's
long-term goal of full Feign client adoption.
*Current state:*
* 118 test classes extend {{BaseLoanIntegrationTest}} (REST-assured)
* 11 test classes already extend {{FeignLoanTestBase}} (Feign)
* {{FeignLoanTestBase}} covers ~60% of the base class API surface
*Target state:*
* 0 test classes extend {{BaseLoanIntegrationTest}}
* All loan tests use the typed Feign client
* {{BaseLoanIntegrationTest}} can be deleted or deprecated
h3. Approach
Split into *3 batch PRs* ordered by infrastructure dependency complexity:
||PR||Tests||Scope||
|PR1 |5 tests|Simple lifecycle tests - no GL accounting, no charges, no
advanced features|
|PR2|55 tests|Tests needing charges, chargebacks, chargeoff, reschedule,
cumulative loans, fraud, business events|
|PR3|58 tests|Tests needing GL journal verification, external asset owner, COB,
inline COB, batch API, point-in-time|
> Batch Migrate BaseLoanIntegrationTest Importers to FeignLoanTestBase
> --------------------------------------------------------------------
>
> Key: FINERACT-2649
> URL: https://issues.apache.org/jira/browse/FINERACT-2649
> Project: Apache Fineract
> Issue Type: Improvement
> Components: Test
> Reporter: Krishna Mewara
> Assignee: Krishna Mewara
> Priority: Trivial
> Labels: feign-migration
>
> Migrate all ~118 loan integration tests currently extending
> {{BaseLoanIntegrationTest}} to extend {{{}FeignLoanTestBase{}}}, replacing
> REST-assured HTTP calls with the typed Feign client. This eliminates
> REST-assured as a test dependency for loan tests and aligns with the
> project's long-term goal of full Feign client adoption.
> ----
> Current state:
> * 84 test classes still extend {{BaseLoanIntegrationTest}} (REST-assured)
> * 39 migrated so far (PR1 merged + PR2 in progress)
> * 45 test classes extend {{FeignLoanTestBase}} (Feign) — includes 6
> pre-existing Feign-only tests
> * {{FeignLoanTestBase}} covers most of the base class API; PR3/PR4 need COB,
> batch, external events, and cumulative/APA helpers
> Target state:
> * 0 test classes extend {{BaseLoanIntegrationTest}}
> * All loan tests use the typed Feign client
> * {{BaseLoanIntegrationTest}} can be deleted or deprecated
> ----
> Approach
> Split into 4 batch PRs ordered by infrastructure dependency complexity:
> ||PR||GitHub||~Classes||Scope||
> |PR1|[#6005|https://github.com/apache/fineract/pull/6005] merged|5|Simple
> lifecycle no GL accounting, no charges, no advanced features|
> |PR2| |34|Charge-off, fraud, delinquency, progressive, accrual, waive/refund,
> reverse-replay|
> |PR3|TBD|53|Reschedule, chargeback, cumulative/APA, client loan,
> transaction-heavy tests|
> |PR4|TBD|31|COB, inline COB, external asset owner, batch API, GL journals,
> permissions, edge cases|
--
This message was sent by Atlassian Jira
(v8.20.10#820010)