[
https://issues.apache.org/jira/browse/FINERACT-2635?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Krishna Mewara updated FINERACT-2635:
-------------------------------------
Description:
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 — 14 methods covering global charge catalogue management
(ChargesApi)
and client-level charge lifecycle (ClientChargesApi). Constructor-injected
FineractFeignClient.
FeignDelinquencyLifecycleTest — 7 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.createLoanDisbursementCharge().
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.
was:
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.
> 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
> Priority: Minor
> Labels: feign-migration, integration-tests
>
> 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 — 14 methods covering global charge catalogue management
> (ChargesApi)
> and client-level charge lifecycle (ClientChargesApi). Constructor-injected
> FineractFeignClient.
>
> FeignDelinquencyLifecycleTest — 7 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.createLoanDisbursementCharge().
>
> 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)