This is an automated email from the ASF dual-hosted git repository. Aman-Mittal pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/fineract-backoffice-ui.git
commit 23705cd3fa4d771ff8eb70716f79c2496ff0446b Merge: e876486 07a1dd1 Author: Aman-Mittal <[email protected]> AuthorDate: Wed Aug 19 23:21:44 2026 +0530 Merge pull request #408 from Aman-Mittal/chore/vitest-migration-groundwork feat(working-capital): loan servicing actions, plus a Vitest runner and a Karma ratchet .github/workflows/ci.yml | 11 + CONTRIBUTING.md | 37 ++- DOCS/adr/0004-vitest-migration.md | 142 +++++++++ angular.json | 14 +- e2e/demo-data.setup.ts | 115 +++++++ e2e/global-search-nav-shortcuts.spec.ts | 24 ++ e2e/guidance-tour-dashboard.spec.ts | 99 ++++++ e2e/rbac-multi-permission.spec.ts | 274 +++++++++++++++++ e2e/utils/seed-api.ts | 10 +- e2e/working-capital-loan-actions.spec.ts | 331 +++++++++++++++++++++ eslint-suppressions.json | 18 +- karma-baseline.json | 199 +++++++++++++ package.json | 3 + playwright.config.ts | 6 + public/api/fineract.json | 128 +++++++- public/api/fineract.provenance.json | 16 +- scripts/check-test-runner.mjs | 197 ++++++++++++ scripts/codemod-jasmine-to-vitest.mjs | 276 +++++++++++++++++ src/app/api/.openapi-generator/FILES | 3 + src/app/api/api/interOperation.service.ts | 26 +- src/app/api/model/clientIdentifierData.ts | 2 + src/app/api/model/clientIdentifierRequest.ts | 4 + .../model/getClientsClientIdIdentifiersResponse.ts | 2 + .../api/model/getLoanProductsProductIdResponse.ts | 3 + .../model/getLoansLoanIdChargesChargeIdResponse.ts | 1 + ...argeData.ts => getLoansLoanIdCollateralData.ts} | 9 +- .../api/model/getLoansLoanIdRepaymentSchedule.ts | 1 + src/app/api/model/getLoansLoanIdResponse.ts | 4 + ...estChargeData.ts => getLoansLoanIdSubStatus.ts} | 7 +- src/app/api/model/getWorkingCapitalLoanCharge.ts | 1 + .../model/getWorkingCapitalLoansLoanIdResponse.ts | 5 + .../model/loanProductChargeToGLAccountMapper.ts | 2 + src/app/api/model/models.ts | 3 + .../model/postClientsClientIdIdentifiersRequest.ts | 4 + src/app/api/model/postLoanProductsRequest.ts | 3 + src/app/api/model/postLoansLoanIdRequest.ts | 1 + src/app/api/model/postLoansRequest.ts | 2 + src/app/api/model/postLoansRequestChargeData.ts | 1 + ...geData.ts => postLoansRequestCollateralData.ts} | 6 +- src/app/api/model/postRepostRequest.ts | 1 + .../postWorkingCapitalLoanTransactionsRequest.ts | 10 +- .../model/putSavingsAccountsAccountIdRequest.ts | 4 + src/app/api/model/putSavingsAccountsChanges.ts | 1 + .../model/workingCapitalLoanBreachScheduleData.ts | 1 + src/app/api/model/workingCapitalLoanChargeData.ts | 1 + ...apter.spec.ts => ionic-overlay.adapter.test.ts} | 0 ...sion.guard.spec.ts => permission.guard.test.ts} | 36 +-- src/app/core/{icons.spec.ts => icons.test.ts} | 0 ...y.spec.ts => translated-title.strategy.test.ts} | 0 ...alog.service.spec.ts => dialog.service.test.ts} | 10 +- ...ce.service.spec.ts => guidance.service.test.ts} | 19 +- src/app/core/services/guidance.service.ts | 6 +- ....spec.ts => institution-config.service.test.ts} | 6 +- ...ing.service.spec.ts => loading.service.test.ts} | 16 +- ...e.spec.ts => navigation-config.service.test.ts} | 222 +++++++------- ...ervice.spec.ts => notification.service.test.ts} | 6 +- ...bar.service.spec.ts => sidebar.service.test.ts} | 6 +- ...theme.service.spec.ts => theme.service.test.ts} | 21 +- ...olver.spec.ts => account-type-resolver.test.ts} | 0 ...te-formatter.spec.ts => date-formatter.test.ts} | 2 +- .../interop/interop-transfers.component.ts | 12 +- src/app/features/loans/loan-view.component.ts | 1 + .../loans/wc-breach-action-form.component.test.ts | 144 +++++++++ .../loans/wc-breach-action-form.component.ts | 314 +++++++++++++++++++ .../wc-delinquency-action-form.component.test.ts | 158 ++++++++++ .../loans/wc-delinquency-action-form.component.ts | 316 ++++++++++++++++++++ .../loans/wc-loan-view.component.spec.ts | 167 ++++++++++- .../loans/wc-loan-view.component.ts | 323 +++++++++++++++++++- .../wc-near-breach-action-form.component.test.ts | 115 +++++++ .../loans/wc-near-breach-action-form.component.ts | 197 ++++++++++++ .../working-capital/working-capital.routes.ts | 25 ++ src/app/layout/header.component.spec.ts | 36 ++- src/app/layout/header.component.ts | 8 + ...spec.ts => inactivity-dialog.component.test.ts} | 5 +- ...component.spec.ts => sidebar.component.test.ts} | 0 ...onent.spec.ts => donut-chart.component.test.ts} | 6 +- ...c.ts => create-office-dialog.component.test.ts} | 19 +- ...ive.spec.ts => cell-template.directive.test.ts} | 0 ...ponent.spec.ts => data-table.component.test.ts} | 14 +- ...spec.ts => entity-datatables.component.test.ts} | 63 ++-- .../guidance-tour/guidance-tour.component.spec.ts | 44 +++ .../guidance-tour/guidance-tour.component.ts | 13 +- ...mponent.spec.ts => help-icon.component.test.ts} | 0 ...mponent.spec.ts => paginator.component.test.ts} | 12 +- ...nent.spec.ts => status-badge.component.test.ts} | 0 ...s => has-institution-feature.directive.test.ts} | 0 ...ec.ts => requires-permission.directive.test.ts} | 0 ...ipe.spec.ts => permission-summary.pipe.test.ts} | 0 src/app/testing/mocks.ts | 73 +++++ src/assets/i18n/en.json | 49 ++- src/assets/i18n/hi.json | 3 + src/assets/i18n/ko.json | 3 + src/testing/vitest-setup.ts | 70 +++++ tsconfig.vitest.json | 9 + vitest.config.ts | 43 +++ 95 files changed, 4313 insertions(+), 287 deletions(-)
