Krishna Mewara created FINERACT-2635:
----------------------------------------
Summary: Add FeignChargesHelper, ChargeRequestBuilders, and
FeignDelinquencyLifecycleTest to integration test Feign migration
Key: FINERACT-2635
URL: https://issues.apache.org/jira/browse/FINERACT-2635
Project: Apache Fineract
Issue Type: Improvement
Components: Test
Reporter: Krishna Mewara
Assignee: Krishna Mewara
Extends the ongoing RestAssured → Feign client migration to the Charges and
Delinquency domains.
Also fixes a spec gap in ChargesApiResourceSwagger where four fields present in
PutChargesChargeIdRequest are missing from PostChargesRequest, causing the
generated
ChargeRequest model to silently send null for savings withdrawal charge updates.
New files:
- ChargeRequestBuilders — static factories for typed ChargeRequest objects
(loanDisbursementFee, loanSpecifiedDueDateFee, loanInstallmentFee,
loanOverdueFee,
clientSpecifiedDueDateFee). Mirrors ClientRequestBuilders /
SavingsRequestBuilders pattern.
- FeignChargesHelper — 13 methods covering global charge catalogue management
(ChargesApi)
and client-level charge lifecycle (ClientChargesApi). Constructor-injected
FineractFeignClient.
- FeignDelinquencyLifecycleTest — 6 ordered tests covering delinquency range
and bucket
create / update / delete using the existing Feign-native
DelinquencyBucketsHelper and
DelinquencyRangesHelper.
Modified files:
- ChargesApiResourceSwagger — adds freeWithdrawalFrequency,
restartCountFrequency,
countFrequencyType, enableFreeWithdrawalCharge to PostChargesRequest so the
generated
ChargeRequest model matches what the server accepts on PUT
/charges/\{chargeId}.
- FeignLoanChargeOriginatorEnricherTest,
FeignLoanAdjustmentOriginatorEnricherTest,
FeignTrialBalanceSummaryReportTest — replace duplicated private
createCharge() /
createFlatFeeCharge() methods with
chargesHelper.createLoanDisbursementFeeCharge().
Key design decisions:
- FeignChargesHelper is scoped to ChargesApi + ClientChargesApi only.
LoanChargesApi
(add/pay/waive/delete a charge on a specific loan) is deferred to the PR 4
roadmap item:
Extend FeignLoanHelper — charge management.
- FeignDelinquencyLifecycleTest requires no new helper because
DelinquencyBucketsHelper
and DelinquencyRangesHelper are already fully Feign-native.
- Loan delinquency actions (POST /loans/\{loanId}/delinquency/action) deferred
to PR 4.
- Zero RestAssured or Retrofit imports — pure Feign throughout.
- No modifications to existing legacy helpers or tests beyond the 3 targeted
call sites.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)