This is an automated email from the ASF dual-hosted git repository.
dependabot[bot] pushed a change to branch
dependabot/npm_and_yarn/typescript-7.0.2
in repository https://gitbox.apache.org/repos/asf/fineract-backoffice-ui.git
discard 20486cf chore(deps-dev): bump typescript from 6.0.3 to 7.0.2
add a685474 fix(deploy): make the container able to reach Fineract
add 5367c4e release: give the project a version, and check it against the
tag
add e4e8f30 ci: build the container and assert it actually proxies the API
add 08036ef docs: write down how a release is actually made
add 847dac0 docs: correct what the threat model and README say about this
application
add 55ca772 ci: move the tag check off the caching workflow
add fefb626 Merge pull request #379 from
Aman-Mittal/chore/release-blockers
add b10abd9 fix(a11y): give every clients route its own title
add 6ce4848 Merge pull request #380 from
opensource-joe/a11y/route-titles-clients
add 73dd0fd fix(a11y): give every products route its own title
add 261c83e Merge pull request #382 from
opensource-joe/a11y/route-titles-products
add 131e878 fix(a11y): give every system route its own title
add d43f755 Merge pull request #383 from
opensource-joe/a11y/route-titles-system
add 1301eeb chore(deps): bump github/codeql-action/analyze from 4.37.1 to
4.37.6
add a0d1c65 Merge pull request #373 from
apache/dependabot/github_actions/github/codeql-action/analyze-4.37.6
add 80ee945 chore(deps): bump github/codeql-action/init from 4.37.1 to
4.37.6
add 8e46378 Merge pull request #374 from
apache/dependabot/github_actions/github/codeql-action/init-4.37.6
add 975bb8b chore(api): sync the Fineract OpenAPI spec and regenerate the
client
add de6619b Merge pull request #381 from apache/chore/fineract-spec-sync
add 1c64b98 fix(idle): prevent hard logout timer reset on activity during
warning
add eb90a7d Merge pull request #387 from Aman-Mittal/fix/ui-fixes-v1
add 734244f fix(a11y): give icon-only buttons an accessible name
add 8e969f0 build(a11y): fail the build on an unnamed icon-only button
add a2cfaa5 test(tooltip): cover TooltipDirective
add b635ca8 build(a11y): walk button content rather than stripping it
with replace
add f7fc740 Merge pull request #365 from
opensource-joe/a11y/icon-button-names
add f166c09 test(interop): cover health check states
add 301ba8e refactor(organization): use formatArrayDate helper
add 1baa651 fix(charges): show load errors and retry
add d06d2e3 refactor(products): use formatArrayDate helper
add b800028 fix(ux): replace native confirm on accounting, organization
and working-capital deletes
add f1fd543 Merge pull request #389 from
Aman-Mittal/chore/unsigned-pr-rollup
add 5b9bad9 fix(search): send savings results to the screen that exists
add 937ca32 test(e2e): cover global search navigation
add 1729c78 fix(e2e): register the catch-all route mock before the
specific ones
add 53b8d30 Merge pull request #390 from
Aman-Mittal/test/global-search-e2e
add 72933df feat(search): add navigation shortcuts to global search
add b09141d fix(search): make the navigation shortcuts safe to inject,
rank and select
add f8f1dfb Merge pull request #391 from
Aman-Mittal/feat/global-search-nav-shortcuts-330
add e0256c1 fix(products): pass recurring deposit command
add e876486 Merge pull request #335 from
YinkaMetrics/fix/recurring-deposit-command
add 971e25f feat(working-capital): manage breach, near-breach,
delinquency actions and originators
add 07a1dd1 chore(test): add a Vitest runner and ratchet the deprecated
Karma suite
add 23705cd Merge pull request #408 from
Aman-Mittal/chore/vitest-migration-groundwork
add 0270591 fix(working-capital): register unlink-outline and record the
new API surface
add dae2b07 Merge pull request #412 from
Aman-Mittal/fix/wc-icon-and-api-surface
add 3bd2535 fix(dialogs): replace native loan and client confirmations
add 8f5aacc Merge pull request #394 from
zhangxinyao88/fix/231-dialog-confirmations
add cb77446 test: migrate interop spec from Karma to Vitest
add bcb0c07 Merge pull request #413 from
LE0-Lin/test/interop-vitest-migration
add d21ec5f fix(dialogs): replace the remaining native confirmations in
products and system
add b75b2c5 feat(roles): preview the navigation a permission change gains
or loses
add 6aa4c50 ci: shard the real-backend e2e suite and cache what CI
re-downloads
add d23af6d ci: report per-test detail, comment on forks, and diagram the
change
add e70e264 fix(ci): escape backslashes in the Markdown table renderer
add cf5a0a6 ci: drop the buildx layer cache, which the ASF action
allow-list forbids
add c7cb6f8 Merge pull request #414 from
Aman-Mittal/feat/role-impact-preview-dialogs-and-ci-sharding
add 89239b0 fix: record maker-checker task rejections
add 939e142 Merge pull request #415 from
LE0-Lin/fix/maker-checker-rejection
add 08e4297 test: migrate errors spec from Karma to Vitest
add 1f06dc1 Merge pull request #417 from
kevinpei123/test/errors-vitest-migration
add 013b0e1 chore(api): sync the Fineract OpenAPI spec and regenerate the
client
add 2292d75 feat(layout): orient the user with a breadcrumb trail and
Alt+key shortcuts
add 24372e8 feat(clients): pace client creation through a three-step
wizard
add 6e508f1 feat(organization): report the loan portfolio by office and
product
add 7b912c4 feat(accounting): filter journal entries by office, GL
account and entry type
add a7ca2a4 feat(products): undo a savings approval, and show deposit
charges and rate chart
add 63e576b feat(working-capital): charges, rate changes, amortization
and delinquency tags
add 4a6aeb8 feat(system): widen bulk import, fix its chart-of-accounts
template, run jobs in bulk
add c082fc5 feat(tasks): group work queues by office, and reject
reschedule requests
add 2cbed3d feat(security): export the audit log to CSV
add 21273f9 test: raise the Vitest timeout above Angular's cold TestBed
compile
add 715f1c1 Merge pull request #418 from
Aman-Mittal/feat/servicing-and-navigation-gaps
add a141d6a fix(organization): title the loan portfolio summary route
add a328009 Merge pull request #425 from
Aman-Mittal/fix/route-titles-and-polish
add a8fe8ed ci: verify commits against GitHub's own verdict, and explain
failures on the PR
add 505f52d Merge pull request #430 from
Aman-Mittal/ci/harden-signed-commits-and-welcome
add 39aa69a fix(layout): clear the render-time interval when the header
is destroyed
add 411bff5 Merge pull request #426 from
slegarraga/fix/header-render-time-interval-leak
add 8ff8846 test(e2e): await submit enabled before clicking the
loan-product form
add f191194 Merge pull request #429 from
slegarraga/fix/e2e-down-payment-flake
add a45d23d fix(accounting): add route titles
add 77928e2 Merge pull request #431 from
XonkelX/codex/accounting-route-titles
add 87e9ce1 fix(organization): add route titles
add 81fb823 Merge pull request #432 from
WilliamK112/fix/organization-route-titles
add df05b66 test: migrate organization and working capital specs to Vitest
add e1f6f91 Merge pull request #433 from
zhangxinyao88/codex/issue-407-vitest-migration
add 3737dde fix(security): add route titles so breadcrumbs and tab titles
appear
add cff25d1 Merge pull request #427 from
slegarraga/feat/security-route-titles
add c241688 build(deps): bump github/codeql-action/analyze from 4.37.6 to
4.37.7
add f63dfca Merge pull request #438 from
apache/dependabot/github_actions/github/codeql-action/analyze-4.37.7
add a310868 build(deps): bump github/codeql-action/init from 4.37.6 to
4.37.7
add cdda3d7 Merge pull request #439 from
apache/dependabot/github_actions/github/codeql-action/init-4.37.7
add 341b640 feat(config): customize branding, navigation and labels from
a deployment overlay
add d5c8a59 fix(branding): apply the deployment's dark palette, strings
and sign-in screen
add 98453d5 docs: note that branding covers the sign-in screen
add f852fcd fix(branding): keep a deployment's light colours out of the
dark palette
add 4dadd44 Merge pull request #437 from
Aman-Mittal/feat/deployment-customization-overlay
add 79f78b3 test(branding): prove the token allow-list holds as a CSS
injection guard
add 00ebbd3 Merge pull request #440 from
Aman-Mittal/test/branding-css-injection-guard
add 94cd2d7 test: migrate organization and working capital specs to vitest
add dcb7e94 test: migrate organization and working capital tests
add 42af219 test: migrate organization and working capital tests
add a1883b4 test: migrate organization and working capital tests
add 24740f3 test: migrate organization and working capital tests
add 4a9991f Merge pull request #435 from
tarun-tarun143/fix/migrate-org-working-capital-tests
add d6badb6 feat(layout): make the shell usable on a phone
add f5ef558 feat(layout): give the phone its own header rather than a
squeezed desktop one
add e195dea fix(layout): derive the page title without writing a signal
during change detection
add e38acde fix(layout): expand the phone search inside the bar, not over
the page
add fa553bc Merge pull request #443 from
Aman-Mittal/feat/mobile-responsive-shell
add 1b3ab69 test: migrate small feature specs to Vitest
add 5214202 test: migrate accounting specs to Vitest
add c2a1b3b test: use translation testing adapter in accounting specs
add b64322d Merge pull request #441 from
zhangxinyao88/codex/issue-405-accounting-vitest
add 9387e2f test: migrate system specs to Vitest
add 02f6ce5 test: use translation testing adapter in system specs
add a173b85 Merge pull request #445 from
zhangxinyao88/codex/issue-404-system-vitest
add 64858bc Merge upstream main into issue 411 Vitest migration
add b1d9280 Merge pull request #446 from
zhangxinyao88/codex/issue-411-small-areas-vitest
add 1753cea fix(codemod): make the skip list and the rename tell the truth
add 691ac62 test(core): migrate auth.service off Karma
add 3c6d3e1 test(core): migrate config.service off Karma
add 2b5486d test(centers): migrate center-view.component off Karma
add bd42b1a test(groups): migrate group-view.component off Karma
add 573a6ef test(products): migrate deposit-account-view.component off
Karma
add 7ae8187 chore(test): re-record the Karma ratchet baseline
add 4c947f8 Merge pull request #450 from
opensource-joe/fix/codemod-skip-false-positives
add 31985c1 chore(deps): move every @angular/* package to 22.1.0 in
lockstep
add 9c54d56 Merge pull request #451 from
opensource-joe/chore/angular-22.1.0
add f58e2ff test: migrate remaining mechanical specs to Vitest
add 8d0ebde Merge pull request #454 from
zhangxinyao88/codex/issue-411-remaining-mechanical-vitest
add fff5394 test: migrate login component spec to Vitest
add a8dc9a6 test: migrate report execution service spec to Vitest
add ed8b233 test: migrate header component spec to Vitest
add d91bc9a test: migrate main layout component spec to Vitest
add de5620e Merge pull request #456 from
zhangxinyao88/codex/issue-410-four-manual-specs
add 01eea30 test: migrate group specs to Vitest
add ab3f1fc Merge pull request #458 from
zhangxinyao88/codex/issue-403-groups-mechanical
add 8071c31 test: migrate browser download adapter spec to Vitest
add e97ddb0 test: migrate web storage adapter spec to Vitest
add 3b303e2 test: migrate global error handler spec to Vitest
add 98844df test: update Karma baseline
add 41202dd Merge pull request #457 from
zhangxinyao88/codex/issue-410-throw-error-specs
add ece09b2 test: migrate app specs to Vitest
add 3300fc4 Merge pull request #459 from
zhangxinyao88/codex/issue-403-app-specs-vitest
add c05f4ed build(deps-dev): bump typescript from 6.0.3 to 7.0.2
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (20486cf)
\
N -- N -- N refs/heads/dependabot/npm_and_yarn/typescript-7.0.2
(c05f4ed)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
No new revisions were added by this update.
Summary of changes:
.github/scripts/check-commit-signatures.js | 292 +
.github/scripts/post-e2e-comments.js | 235 +
.github/scripts/upsert-e2e-comment.js | 69 -
.github/scripts/welcome-contributor.js | 165 +
.github/workflows/ci.yml | 270 +-
.github/workflows/codeql.yml | 4 +-
.github/workflows/e2e.yml | 332 +-
.github/workflows/pr-comments.yml | 96 +
.github/workflows/release-tag.yml | 64 +
.github/workflows/signed-commit.yml | 60 +-
.github/workflows/welcome-contributor.yml | 71 +
.gitignore | 10 +
.rat-excludes | 6 +
AGENTS.md | 2 +-
CHANGELOG.md | 118 +
CONTRIBUTING.md | 37 +-
DOCS/CI_CHECKS.md | 208 +-
DOCS/CUSTOMIZATION.md | 211 +
DOCS/FONTS.md | 2 +-
DOCS/MOBILE.md | 105 +
DOCS/adr/0004-vitest-migration.md | 142 +
DOCS/examples/branding-config.example.json | 57 +
NOTICE | 2 +-
README.md | 61 +-
RELEASING.md | 276 +
angular.json | 38 +-
deploy/Dockerfile | 46 +-
deploy/docker-compose.yml | 66 +-
deploy/entrypoint.sh | 106 +-
deploy/nginx.conf | 71 -
deploy/nginx.conf.template | 170 +
e2e/branded-deployment.spec.ts | 263 +
e2e/breadcrumb.spec.ts | 90 +
e2e/client-transfer.spec.ts | 2 +
e2e/client.spec.ts | 15 +-
e2e/demo-data.setup.ts | 115 +
e2e/deployment-customization.spec.ts | 395 +
e2e/e2e-journey.spec.ts | 91 +-
e2e/full-demo.spec.ts | 2 +
e2e/functional-coverage.spec.ts | 75 +-
e2e/global-search-nav-shortcuts.spec.ts | 159 +
e2e/global-search-navigation.spec.ts | 245 +
e2e/group-membership.spec.ts | 2 +
e2e/guidance-tour-dashboard.spec.ts | 99 +
e2e/keyboard-shortcuts.spec.ts | 101 +
e2e/loan-lifecycle.spec.ts | 2 +
e2e/loan-portfolio-summary.spec.ts | 178 +
e2e/loan-product-down-payment.spec.ts | 25 +-
e2e/mobile-shell.spec.ts | 282 +
e2e/rbac-feature-flag.spec.ts | 22 +-
e2e/rbac-multi-permission.spec.ts | 274 +
e2e/scheduler-jobs.spec.ts | 156 +
e2e/utils/seed-api.ts | 10 +-
e2e/working-capital-loan-actions.spec.ts | 510 +
eslint-suppressions.json | 480 +-
karma-baseline.json | 78 +
package-lock.json | 16326 +++++++++----------
package.json | 34 +-
playwright.config.ts | 28 +-
.../src/app/{app.spec.ts => app.test.ts} | 0
projects/fineract-mfe/tsconfig.spec.json | 2 +-
public/api/fineract.json | 139 +-
public/api/fineract.provenance.json | 16 +-
public/schema/config.schema.json | 200 +
scripts/check-a11y-names.mjs | 227 +
scripts/check-branding-path.mjs | 59 +
scripts/check-license.sh | 2 +-
scripts/check-nav-ids.mjs | 146 +
scripts/check-reference-downstream.mjs | 201 +
scripts/check-responsive.mjs | 141 +
scripts/check-test-runner.mjs | 197 +
scripts/check-version.mjs | 91 +
scripts/codemod-jasmine-to-vitest.mjs | 318 +
scripts/e2e-summary.mjs | 297 +-
scripts/ga-check.mjs | 24 +-
scripts/make-branding-demo.mjs | 109 +
scripts/nav-ids.json | 140 +
scripts/pr-comment-actions.test.mjs | 312 +
scripts/pr-sequence-diagram.mjs | Bin 0 -> 12119 bytes
scripts/reporting.test.mjs | 105 +
scripts/verify-signed-commits.sh | 14 +
security.md | 28 +-
src/app/api/.openapi-generator/FILES | 3 +
src/app/api/api/documents.service.ts | 32 +-
src/app/api/api/interOperation.service.ts | 26 +-
src/app/api/model/clientAddressRequest.ts | 1 +
src/app/api/model/clientIdentifierData.ts | 2 +
src/app/api/model/clientIdentifierRequest.ts | 4 +
src/app/api/model/documentData.ts | 2 +
.../model/getClientsClientIdIdentifiersResponse.ts | 2 +
.../api/model/getLoanProductsProductIdResponse.ts | 3 +
.../model/getLoansLoanIdChargesChargeIdResponse.ts | 1 +
...onseData.ts => getLoansLoanIdCollateralData.ts} | 2 +-
.../api/model/getLoansLoanIdRepaymentSchedule.ts | 1 +
src/app/api/model/getLoansLoanIdResponse.ts | 4 +
...rmTypeOptions.ts => getLoansLoanIdSubStatus.ts} | 2 +-
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 +
...ateral.ts => postLoansRequestCollateralData.ts} | 2 +-
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 +
...app.component.spec.ts => app.component.test.ts} | 7 +-
src/app/app.config.spec.ts | 23 +-
src/app/app.config.ts | 46 +-
src/app/app.routes.ts | 12 +-
src/app/core/adapters/api/api-surface.json | 91 +-
...er.spec.ts => browser-download.adapter.test.ts} | 19 +-
.../adapters/i18n/deployment-translate.loader.ts | 92 +
...apter.spec.ts => ionic-overlay.adapter.test.ts} | 0
...adapter.spec.ts => web-storage.adapter.test.ts} | 4 +-
...andler.spec.ts => global-error-handler.test.ts} | 13 +-
...sion.guard.spec.ts => permission.guard.test.ts} | 36 +-
src/app/core/{icons.spec.ts => icons.test.ts} | 0
src/app/core/icons.ts | 2 +
...y.spec.ts => translated-title.strategy.test.ts} | 0
src/app/core/router/translated-title.strategy.ts | 9 +-
.../{auth.service.spec.ts => auth.service.test.ts} | 74 +-
src/app/core/services/auth.service.ts | 25 +-
src/app/core/services/branding.service.test.ts | 176 +
src/app/core/services/branding.service.ts | 430 +
...nfig.service.spec.ts => config.service.test.ts} | 103 +-
src/app/core/services/config.service.ts | 199 +-
...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 +-
src/app/core/services/idle.service.spec.ts | 74 +-
src/app/core/services/idle.service.ts | 42 +-
....spec.ts => institution-config.service.test.ts} | 6 +-
...ing.service.spec.ts => loading.service.test.ts} | 16 +-
src/app/core/services/nav-composition.test.ts | 222 +
src/app/core/services/nav-composition.ts | 302 +
...e.spec.ts => navigation-config.service.test.ts} | 386 +-
src/app/core/services/navigation-config.service.ts | 373 +-
...ervice.spec.ts => notification.service.test.ts} | 6 +-
...bar.service.spec.ts => sidebar.service.test.ts} | 6 +-
src/app/core/services/sidebar.service.ts | 48 +-
...theme.service.spec.ts => theme.service.test.ts} | 21 +-
src/app/core/services/viewport.service.ts | 67 +
...olver.spec.ts => account-type-resolver.test.ts} | 0
src/app/core/utils/csv.test.ts | 66 +
src/app/core/utils/csv.ts | 40 +
...te-formatter.spec.ts => date-formatter.test.ts} | 2 +-
src/app/core/utils/permission-matcher.test.ts | 77 +
src/app/core/utils/permission-matcher.ts | 59 +
...s => accounting-closure-form.component.test.ts} | 24 +-
... => accounting-closures-list.component.test.ts} | 23 +-
src/app/features/accounting/accounting.routes.ts | 28 +
.../charges/charges-list.component.test.ts | 95 +
.../accounting/charges/charges-list.component.ts | 13 +-
...spec.ts => frequent-postings.component.test.ts} | 35 +-
.../journal-entries-list.component.spec.ts | 70 -
.../journal-entries-list.component.test.ts | 141 +
.../accounting/journal-entries-list.component.ts | 315 +-
...pec.ts => journal-entry-form.component.test.ts} | 40 +-
...pec.ts => journal-entry-view.component.test.ts} | 37 +-
....spec.ts => opening-balances.component.test.ts} | 40 +-
...provisioning-categories-form.component.test.ts} | 18 +-
...provisioning-categories-list.component.test.ts} | 38 +-
.../provisioning-categories-list.component.ts | 26 +-
...> provisioning-criteria-form.component.test.ts} | 28 +-
...> provisioning-criteria-list.component.test.ts} | 38 +-
.../provisioning-criteria-list.component.ts | 26 +-
...=> provisioning-entries-form.component.test.ts} | 16 +-
...=> provisioning-entries-list.component.test.ts} | 18 +-
...nent.spec.ts => run-accruals.component.test.ts} | 14 +-
...ent.spec.ts => calendar-form.component.test.ts} | 22 +-
...nt.spec.ts => calendars-list.component.test.ts} | 40 +-
...ars.routes.spec.ts => calendars.routes.test.ts} | 0
...onent.spec.ts => center-form.component.test.ts} | 41 +-
...onent.spec.ts => center-view.component.test.ts} | 49 +-
.../charges/client-charges-list.component.spec.ts | 14 +-
.../charges/client-charges-list.component.ts | 18 +-
.../features/clients/client-form.component.spec.ts | 78 +
src/app/features/clients/client-form.component.ts | 124 +-
src/app/features/clients/client-view.component.ts | 22 +-
src/app/features/clients/clients-list.component.ts | 14 +-
src/app/features/clients/clients.routes.spec.ts | 131 +
src/app/features/clients/clients.routes.ts | 21 +
.../client-collateral-list.component.spec.ts | 14 +-
.../collateral/client-collateral-list.component.ts | 17 +-
.../kyc/client-document-form.component.spec.ts | 5 +-
.../clients/kyc/client-document-form.component.ts | 4 +
.../tabs/client-addresses-list.component.ts | 1 +
.../tabs/client-documents-list.component.ts | 2 +
.../tabs/client-family-members-list.component.ts | 2 +
.../tabs/client-identifiers-list.component.ts | 2 +
.../clients/tabs/client-notes-list.component.ts | 2 +
.../client-transactions-list.component.spec.ts | 14 +-
.../client-transactions-list.component.ts | 18 +-
...ent.spec.ts => system-status.component.test.ts} | 26 +-
...ent.spec.ts => access-denied.component.test.ts} | 2 +-
.../asset-owner-view/asset-owner-view.component.ts | 12 -
...ec.ts => group-action-dialog.component.test.ts} | 13 +-
...ponent.spec.ts => group-form.component.test.ts} | 27 +-
...ponent.spec.ts => group-view.component.test.ts} | 30 +-
...pec.ts => group-accounts-tab.component.test.ts} | 15 +-
.../interop/interop-health.component.test.ts | 98 +
.../interop/interop-transfers.component.ts | 12 +-
.../loans/charges/loan-charges-list.component.ts | 17 +-
.../guarantors/guarantors-list.component.spec.ts | 14 +-
.../loans/guarantors/guarantors-list.component.ts | 15 +-
.../interest-pauses-list.component.spec.ts | 14 +-
.../interest-pauses-list.component.ts | 17 +-
src/app/features/loans/loan-form.component.ts | 2 +
src/app/features/loans/loan-view.component.ts | 2 +
src/app/features/loans/loans-list.component.ts | 14 +-
.../post-dated-checks-list.component.spec.ts | 14 +-
.../post-dated-checks-list.component.ts | 18 +-
...n.component.spec.ts => login.component.test.ts} | 56 +-
src/app/features/login/login.component.ts | 35 +-
...t.spec.ts => two-factor-step.component.test.ts} | 37 +-
...nent.spec.ts => meeting-form.component.test.ts} | 18 +-
...ent.spec.ts => meetings-list.component.test.ts} | 24 +-
...ings.routes.spec.ts => meetings.routes.test.ts} | 0
.../account-number-formats-list.component.test.ts | 103 +
.../account-number-formats-list.component.ts | 38 +-
...mponent.spec.ts => fund-form.component.test.ts} | 45 +-
...ponent.spec.ts => funds-list.component.test.ts} | 18 +-
...spec.ts => group-levels-list.component.test.ts} | 49 +-
.../loan-portfolio-summary.component.test.ts | 185 +
.../loan-portfolio-summary.component.ts | 561 +
...onent.spec.ts => office-form.component.test.ts} | 96 +-
.../organization/offices/office-form.component.ts | 7 +-
...nent.spec.ts => offices-list.component.test.ts} | 24 +-
.../features/organization/organization.routes.ts | 30 +
...spec.ts => payment-type-form.component.test.ts} | 20 +-
...pec.ts => payment-types-list.component.test.ts} | 52 +-
...ponent.spec.ts => staff-form.component.test.ts} | 82 +-
.../organization/staff/staff-form.component.ts | 4 +-
...ponent.spec.ts => staff-list.component.test.ts} | 24 +-
.../organization/staff/staff-list.component.ts | 1 +
...> collateral-management-list.component.test.ts} | 35 +-
.../collateral-management-list.component.ts | 17 +-
...c.ts => deposit-account-view.component.test.ts} | 193 +-
.../products/deposit-account-view.component.ts | 253 +-
.../fixed-deposits/fixed-deposit-form.component.ts | 2 +
.../fixed-deposit-products-list.component.ts | 1 +
.../fixed-deposits-list.component.ts | 1 +
...=> interest-rate-chart-slabs.component.test.ts} | 42 +-
.../interest-rate-chart-slabs.component.ts | 18 +-
...=> interest-rate-charts-list.component.test.ts} | 38 +-
.../interest-rate-charts-list.component.ts | 17 +-
....ts => loan-originators-list.component.test.ts} | 38 +-
.../loan-originators-list.component.ts | 14 +-
...onent.spec.ts => product-mix.component.test.ts} | 42 +-
.../products/product-mix/product-mix.component.ts | 15 +-
src/app/features/products/products.routes.spec.ts | 165 +
src/app/features/products/products.routes.ts | 67 +-
...ring-deposit-transaction-form.component.spec.ts | 43 +-
...recurring-deposit-transaction-form.component.ts | 21 +-
.../recurring-deposit-form.component.ts | 2 +
.../recurring-deposit-products-list.component.ts | 1 +
.../recurring-deposits-list.component.ts | 1 +
.../products/savings-account-form.component.ts | 7 +-
...ings-account-transaction-form.component.test.ts | 124 +
.../savings-account-transaction-form.component.ts | 106 +-
.../savings-account-view.component.spec.ts | 52 +
.../products/savings-account-view.component.ts | 42 +
.../products/savings-accounts-list.component.ts | 1 +
...c.ts => savings-charges-list.component.test.ts} | 35 +-
.../savings-charges-list.component.ts | 17 +-
...savings-undo-approval-dialog.component.test.ts} | 16 +-
.../savings-undo-approval-dialog.component.ts} | 32 +-
...c.ts => share-dividends-list.component.test.ts} | 35 +-
.../share-dividends-list.component.ts | 18 +-
...nent.spec.ts => user-profile.component.test.ts} | 28 +-
...ce.spec.ts => report-execution.service.test.ts} | 18 +-
...ponent.spec.ts => run-report.component.test.ts} | 76 +-
src/app/features/search/global-search.component.ts | 54 +-
...t.spec.ts => audit-logs-list.component.test.ts} | 42 +-
.../audit-logs/audit-logs-list.component.ts | 22 +
.../security/roles/role-form.component.test.ts | 243 +
.../features/security/roles/role-form.component.ts | 475 +-
...ponent.spec.ts => roles-list.component.test.ts} | 24 +-
src/app/features/security/security.routes.ts | 7 +
...nent.spec.ts => holiday-form.component.test.ts} | 41 +-
...ent.spec.ts => holidays-list.component.test.ts} | 59 +-
.../features/settings/holidays-list.component.ts | 1 +
...nent.spec.ts => working-days.component.test.ts} | 24 +-
...ponent.spec.ts => likelihood.component.test.ts} | 24 +-
...nent.spec.ts => poverty-line.component.test.ts} | 19 +-
...ponent.spec.ts => scorecards.component.test.ts} | 14 +-
....spec.ts => spm-surveys-form.component.test.ts} | 22 +-
....spec.ts => spm-surveys-list.component.test.ts} | 18 +-
....spec.ts => adhoc-query-form.component.test.ts} | 20 +-
....spec.ts => adhoc-query-list.component.test.ts} | 38 +-
.../adhoc-query/adhoc-query-list.component.ts | 17 +-
.../bulk-import/bulk-import.component.spec.ts | 82 -
.../bulk-import/bulk-import.component.test.ts | 235 +
.../system/bulk-import/bulk-import.component.ts | 263 +-
...nt.spec.ts => business-steps.component.test.ts} | 22 +-
...e.component.spec.ts => cache.component.test.ts} | 21 +-
...c.ts => credit-bureau-config.component.test.ts} | 18 +-
...t.spec.ts => datatables-form.component.test.ts} | 30 +-
.../data-tables/datatables-list.component.ts | 24 +-
...ts => delinquency-management.component.test.ts} | 18 +-
.../delinquency-management.component.ts | 54 +-
...ntity-data-table-checks-form.component.test.ts} | 23 +-
...ntity-data-table-checks-list.component.test.ts} | 35 +-
.../entity-data-table-checks-list.component.ts | 17 +-
...ec.ts => entity-mapping-form.component.test.ts} | 16 +-
...ec.ts => entity-mapping-list.component.test.ts} | 38 +-
.../entity-mapping-list.component.ts | 18 +-
...t.spec.ts => external-events.component.test.ts} | 19 +-
...spec.ts => external-services.component.test.ts} | 21 +-
...ec.ts => field-configuration.component.test.ts} | 16 +-
...ponent.spec.ts => hooks-form.component.test.ts} | 20 +-
...ponent.spec.ts => hooks-list.component.test.ts} | 35 +-
.../features/system/hooks/hooks-list.component.ts | 16 +-
...ent.spec.ts => instance-mode.component.test.ts} | 19 +-
...c.ts => loan-product-details.component.test.ts} | 16 +-
...c.ts => notifications-config.component.test.ts} | 24 +-
...onent.spec.ts => oidc-config.component.test.ts} | 48 +-
...c.ts => password-preferences.component.test.ts} | 19 +-
...onent.spec.ts => permissions.component.test.ts} | 23 +-
...ts => report-definition-form.component.test.ts} | 29 +-
...s => report-definitions-list.component.test.ts} | 25 +-
... => report-mailing-jobs-form.component.test.ts} | 16 +-
... => report-mailing-jobs-list.component.test.ts} | 38 +-
.../report-mailing-jobs-list.component.ts | 17 +-
....ts => scheduler-job-history.component.test.ts} | 18 +-
.../scheduler-jobs-list.component.spec.ts | 96 -
.../scheduler-jobs-list.component.test.ts | 154 +
.../scheduler-jobs-list.component.ts | 83 +-
...omponent.spec.ts => sms-form.component.test.ts} | 20 +-
...omponent.spec.ts => sms-list.component.test.ts} | 35 +-
src/app/features/system/sms/sms-list.component.ts | 14 +-
src/app/features/system/system.routes.test.ts | 149 +
src/app/features/system/system.routes.ts | 49 +
.../system/templates/templates-list.component.ts | 21 +-
.../checker-inbox/checker-inbox.component.test.ts | 121 +
.../tasks/checker-inbox/checker-inbox.component.ts | 40 +-
...ec.ts => view-payload-dialog.component.test.ts} | 6 +-
...onent.spec.ts => work-queues.component.test.ts} | 98 +-
.../tasks/work-queues/work-queues.component.ts | 324 +-
... => cashier-transaction-form.component.test.ts} | 21 +-
...c.ts => cashier-transactions.component.test.ts} | 20 +-
...onent.spec.ts => teller-form.component.test.ts} | 29 +-
....ts => account-transfer-form.component.test.ts} | 51 +-
...=> standing-instruction-form.component.test.ts} | 46 +-
...nt.spec.ts => wc-breach-form.component.test.ts} | 22 +-
...nt.spec.ts => wc-breach-list.component.test.ts} | 35 +-
.../breach/wc-breach-list.component.ts | 24 +-
...c.ts => wc-loan-product-form.component.test.ts} | 24 +-
....ts => wc-loan-products-list.component.test.ts} | 35 +-
.../wc-loan-products-list.component.ts | 24 +-
.../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 +
...ec.ts => wc-loan-action-form.component.test.ts} | 144 +-
.../loans/wc-loan-action-form.component.ts | 164 +-
.../loans/wc-loan-charge-form.component.test.ts | 126 +
.../loans/wc-loan-charge-form.component.ts} | 89 +-
...nent.spec.ts => wc-loan-form.component.test.ts} | 95 +-
.../loans/wc-loan-view.component.spec.ts | 142 -
.../loans/wc-loan-view.component.test.ts | 532 +
.../loans/wc-loan-view.component.ts | 587 +-
...ent.spec.ts => wc-loans-list.component.test.ts} | 18 +-
.../wc-near-breach-action-form.component.test.ts | 115 +
.../loans/wc-near-breach-action-form.component.ts} | 127 +-
...ec.ts => wc-near-breach-form.component.test.ts} | 64 +-
...ec.ts => wc-near-breach-list.component.test.ts} | 95 +-
.../near-breach/wc-near-breach-list.component.ts | 24 +-
.../working-capital/working-capital.routes.ts | 32 +
src/app/layout/breadcrumb.component.test.ts | 91 +
src/app/layout/breadcrumb.component.ts | 90 +
src/app/layout/breadcrumb.test.ts | 80 +
src/app/layout/breadcrumb.ts | 55 +
src/app/layout/header.component.spec.ts | 76 -
src/app/layout/header.component.test.ts | 148 +
src/app/layout/header.component.ts | 561 +-
...spec.ts => inactivity-dialog.component.test.ts} | 5 +-
src/app/layout/keyboard-shortcuts.test.ts | 102 +
src/app/layout/keyboard-shortcuts.ts | 75 +
src/app/layout/main-layout.component.spec.ts | 69 -
src/app/layout/main-layout.component.test.ts | 124 +
src/app/layout/main-layout.component.ts | 76 +-
...component.spec.ts => sidebar.component.test.ts} | 0
src/app/layout/sidebar.component.ts | 167 +-
...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 +-
.../components/data-table/data-table.component.ts | 55 +-
...spec.ts => entity-datatables.component.test.ts} | 63 +-
.../entity-documents/entity-documents.component.ts | 2 +
.../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
.../components/stepper/stepper.component.test.ts | 77 +
.../shared/components/stepper/stepper.component.ts | 119 +
...s => has-institution-feature.directive.test.ts} | 0
...ec.ts => requires-permission.directive.test.ts} | 0
.../shared/directives/tooltip-registry.service.ts | 56 +
.../shared/directives/tooltip.directive.spec.ts | 211 +
src/app/shared/directives/tooltip.directive.ts | 16 +
src/app/shared/index.ts | 1 +
...ipe.spec.ts => permission-summary.pipe.test.ts} | 0
src/app/testing/i18n-testing.ts | 15 +-
src/app/testing/mocks.ts | 73 +
src/assets/i18n/en.json | 312 +-
src/assets/i18n/hi.json | 17 +-
src/assets/i18n/ko.json | 17 +-
src/main.ts | 49 +-
src/styles/_common.scss | 94 +
src/styles/_ionic-theme.scss | 16 +-
src/testing/vitest-setup.ts | 70 +
tsconfig.vitest.json | 9 +
vitest.config.ts | 51 +
423 files changed, 32961 insertions(+), 12310 deletions(-)
create mode 100644 .github/scripts/check-commit-signatures.js
create mode 100644 .github/scripts/post-e2e-comments.js
delete mode 100644 .github/scripts/upsert-e2e-comment.js
create mode 100644 .github/scripts/welcome-contributor.js
create mode 100644 .github/workflows/pr-comments.yml
create mode 100644 .github/workflows/release-tag.yml
create mode 100644 .github/workflows/welcome-contributor.yml
create mode 100644 CHANGELOG.md
create mode 100644 DOCS/CUSTOMIZATION.md
create mode 100644 DOCS/MOBILE.md
create mode 100644 DOCS/adr/0004-vitest-migration.md
create mode 100644 DOCS/examples/branding-config.example.json
create mode 100644 RELEASING.md
delete mode 100644 deploy/nginx.conf
create mode 100644 deploy/nginx.conf.template
create mode 100644 e2e/branded-deployment.spec.ts
create mode 100644 e2e/breadcrumb.spec.ts
create mode 100644 e2e/demo-data.setup.ts
create mode 100644 e2e/deployment-customization.spec.ts
create mode 100644 e2e/global-search-nav-shortcuts.spec.ts
create mode 100644 e2e/global-search-navigation.spec.ts
create mode 100644 e2e/guidance-tour-dashboard.spec.ts
create mode 100644 e2e/keyboard-shortcuts.spec.ts
create mode 100644 e2e/loan-portfolio-summary.spec.ts
create mode 100644 e2e/mobile-shell.spec.ts
create mode 100644 e2e/rbac-multi-permission.spec.ts
create mode 100644 e2e/scheduler-jobs.spec.ts
create mode 100644 e2e/working-capital-loan-actions.spec.ts
create mode 100644 karma-baseline.json
rename projects/fineract-mfe/src/app/{app.spec.ts => app.test.ts} (100%)
create mode 100644 public/schema/config.schema.json
create mode 100644 scripts/check-a11y-names.mjs
create mode 100644 scripts/check-branding-path.mjs
create mode 100644 scripts/check-nav-ids.mjs
create mode 100644 scripts/check-reference-downstream.mjs
create mode 100644 scripts/check-responsive.mjs
create mode 100644 scripts/check-test-runner.mjs
create mode 100644 scripts/check-version.mjs
create mode 100644 scripts/codemod-jasmine-to-vitest.mjs
create mode 100644 scripts/make-branding-demo.mjs
create mode 100644 scripts/nav-ids.json
create mode 100644 scripts/pr-comment-actions.test.mjs
create mode 100644 scripts/pr-sequence-diagram.mjs
create mode 100644 scripts/reporting.test.mjs
copy src/app/api/model/{loanCollateralResponseData.ts =>
getLoansLoanIdCollateralData.ts} (95%)
copy src/app/api/model/{loanTermTypeOptions.ts => getLoansLoanIdSubStatus.ts}
(95%)
copy src/app/api/model/{putLoansLoanIdCollateral.ts =>
postLoansRequestCollateralData.ts} (95%)
rename src/app/{app.component.spec.ts => app.component.test.ts} (92%)
rename src/app/core/adapters/download/{browser-download.adapter.spec.ts =>
browser-download.adapter.test.ts} (87%)
create mode 100644 src/app/core/adapters/i18n/deployment-translate.loader.ts
rename src/app/core/adapters/overlay/{ionic-overlay.adapter.spec.ts =>
ionic-overlay.adapter.test.ts} (100%)
rename src/app/core/adapters/storage/{web-storage.adapter.spec.ts =>
web-storage.adapter.test.ts} (96%)
rename src/app/core/errors/{global-error-handler.spec.ts =>
global-error-handler.test.ts} (87%)
rename src/app/core/guards/{permission.guard.spec.ts =>
permission.guard.test.ts} (89%)
rename src/app/core/{icons.spec.ts => icons.test.ts} (100%)
rename src/app/core/router/{translated-title.strategy.spec.ts =>
translated-title.strategy.test.ts} (100%)
rename src/app/core/services/{auth.service.spec.ts => auth.service.test.ts}
(84%)
create mode 100644 src/app/core/services/branding.service.test.ts
create mode 100644 src/app/core/services/branding.service.ts
rename src/app/core/services/{config.service.spec.ts =>
config.service.test.ts} (63%)
rename src/app/core/services/{dialog.service.spec.ts =>
dialog.service.test.ts} (92%)
rename src/app/core/services/{guidance.service.spec.ts =>
guidance.service.test.ts} (76%)
rename src/app/core/services/{institution-config.service.spec.ts =>
institution-config.service.test.ts} (94%)
rename src/app/core/services/{loading.service.spec.ts =>
loading.service.test.ts} (85%)
create mode 100644 src/app/core/services/nav-composition.test.ts
create mode 100644 src/app/core/services/nav-composition.ts
rename src/app/core/services/{navigation-config.service.spec.ts =>
navigation-config.service.test.ts} (56%)
rename src/app/core/services/{notification.service.spec.ts =>
notification.service.test.ts} (91%)
rename src/app/core/services/{sidebar.service.spec.ts =>
sidebar.service.test.ts} (90%)
rename src/app/core/services/{theme.service.spec.ts => theme.service.test.ts}
(82%)
create mode 100644 src/app/core/services/viewport.service.ts
rename src/app/core/utils/{account-type-resolver.spec.ts =>
account-type-resolver.test.ts} (100%)
create mode 100644 src/app/core/utils/csv.test.ts
create mode 100644 src/app/core/utils/csv.ts
rename src/app/core/utils/{date-formatter.spec.ts => date-formatter.test.ts}
(99%)
create mode 100644 src/app/core/utils/permission-matcher.test.ts
create mode 100644 src/app/core/utils/permission-matcher.ts
rename src/app/features/accounting/{accounting-closure-form.component.spec.ts
=> accounting-closure-form.component.test.ts} (79%)
rename src/app/features/accounting/{accounting-closures-list.component.spec.ts
=> accounting-closures-list.component.test.ts} (81%)
create mode 100644
src/app/features/accounting/charges/charges-list.component.test.ts
rename src/app/features/accounting/{frequent-postings.component.spec.ts =>
frequent-postings.component.test.ts} (77%)
delete mode 100644
src/app/features/accounting/journal-entries-list.component.spec.ts
create mode 100644
src/app/features/accounting/journal-entries-list.component.test.ts
rename src/app/features/accounting/{journal-entry-form.component.spec.ts =>
journal-entry-form.component.test.ts} (74%)
rename src/app/features/accounting/{journal-entry-view.component.spec.ts =>
journal-entry-view.component.test.ts} (83%)
rename src/app/features/accounting/{opening-balances.component.spec.ts =>
opening-balances.component.test.ts} (79%)
rename
src/app/features/accounting/provisioning-categories/{provisioning-categories-form.component.spec.ts
=> provisioning-categories-form.component.test.ts} (83%)
rename
src/app/features/accounting/provisioning-categories/{provisioning-categories-list.component.spec.ts
=> provisioning-categories-list.component.test.ts} (70%)
rename
src/app/features/accounting/provisioning-criteria/{provisioning-criteria-form.component.spec.ts
=> provisioning-criteria-form.component.test.ts} (86%)
rename
src/app/features/accounting/provisioning-criteria/{provisioning-criteria-list.component.spec.ts
=> provisioning-criteria-list.component.test.ts} (70%)
rename
src/app/features/accounting/provisioning-entries/{provisioning-entries-form.component.spec.ts
=> provisioning-entries-form.component.test.ts} (83%)
rename
src/app/features/accounting/provisioning-entries/{provisioning-entries-list.component.spec.ts
=> provisioning-entries-list.component.test.ts} (81%)
rename
src/app/features/accounting/run-accruals/{run-accruals.component.spec.ts =>
run-accruals.component.test.ts} (84%)
rename src/app/features/calendars/{calendar-form.component.spec.ts =>
calendar-form.component.test.ts} (83%)
rename src/app/features/calendars/{calendars-list.component.spec.ts =>
calendars-list.component.test.ts} (78%)
rename src/app/features/calendars/{calendars.routes.spec.ts =>
calendars.routes.test.ts} (100%)
rename src/app/features/centers/{center-form.component.spec.ts =>
center-form.component.test.ts} (79%)
rename src/app/features/centers/{center-view.component.spec.ts =>
center-view.component.test.ts} (90%)
create mode 100644 src/app/features/clients/clients.routes.spec.ts
rename src/app/features/dashboard/{system-status.component.spec.ts =>
system-status.component.test.ts} (90%)
rename src/app/features/errors/{access-denied.component.spec.ts =>
access-denied.component.test.ts} (99%)
rename src/app/features/groups/{group-action-dialog.component.spec.ts =>
group-action-dialog.component.test.ts} (93%)
rename src/app/features/groups/{group-form.component.spec.ts =>
group-form.component.test.ts} (81%)
rename src/app/features/groups/{group-view.component.spec.ts =>
group-view.component.test.ts} (90%)
rename src/app/features/groups/tabs/{group-accounts-tab.component.spec.ts =>
group-accounts-tab.component.test.ts} (85%)
create mode 100644 src/app/features/interop/interop-health.component.test.ts
rename src/app/features/login/{login.component.spec.ts =>
login.component.test.ts} (75%)
rename src/app/features/login/two-factor/{two-factor-step.component.spec.ts =>
two-factor-step.component.test.ts} (88%)
rename src/app/features/meetings/{meeting-form.component.spec.ts =>
meeting-form.component.test.ts} (85%)
rename src/app/features/meetings/{meetings-list.component.spec.ts =>
meetings-list.component.test.ts} (82%)
rename src/app/features/meetings/{meetings.routes.spec.ts =>
meetings.routes.test.ts} (100%)
create mode 100644
src/app/features/organization/account-number-formats/account-number-formats-list.component.test.ts
rename src/app/features/organization/funds/{fund-form.component.spec.ts =>
fund-form.component.test.ts} (74%)
rename src/app/features/organization/funds/{funds-list.component.spec.ts =>
funds-list.component.test.ts} (82%)
rename
src/app/features/organization/group-levels/{group-levels-list.component.spec.ts
=> group-levels-list.component.test.ts} (59%)
create mode 100644
src/app/features/organization/loan-portfolio-summary/loan-portfolio-summary.component.test.ts
create mode 100644
src/app/features/organization/loan-portfolio-summary/loan-portfolio-summary.component.ts
rename src/app/features/organization/offices/{office-form.component.spec.ts =>
office-form.component.test.ts} (73%)
rename src/app/features/organization/offices/{offices-list.component.spec.ts
=> offices-list.component.test.ts} (84%)
rename
src/app/features/organization/payment-types/{payment-type-form.component.spec.ts
=> payment-type-form.component.test.ts} (81%)
rename
src/app/features/organization/payment-types/{payment-types-list.component.spec.ts
=> payment-types-list.component.test.ts} (76%)
rename src/app/features/organization/staff/{staff-form.component.spec.ts =>
staff-form.component.test.ts} (74%)
rename src/app/features/organization/staff/{staff-list.component.spec.ts =>
staff-list.component.test.ts} (80%)
rename
src/app/features/products/collateral-management/{collateral-management-list.component.spec.ts
=> collateral-management-list.component.test.ts} (73%)
rename src/app/features/products/{deposit-account-view.component.spec.ts =>
deposit-account-view.component.test.ts} (62%)
rename
src/app/features/products/interest-rate-charts/{interest-rate-chart-slabs.component.spec.ts
=> interest-rate-chart-slabs.component.test.ts} (73%)
rename
src/app/features/products/interest-rate-charts/{interest-rate-charts-list.component.spec.ts
=> interest-rate-charts-list.component.test.ts} (72%)
rename
src/app/features/products/loan-originators/{loan-originators-list.component.spec.ts
=> loan-originators-list.component.test.ts} (70%)
rename src/app/features/products/product-mix/{product-mix.component.spec.ts =>
product-mix.component.test.ts} (73%)
create mode 100644 src/app/features/products/products.routes.spec.ts
create mode 100644
src/app/features/products/savings-account-transaction-form.component.test.ts
rename
src/app/features/products/savings-charges/{savings-charges-list.component.spec.ts
=> savings-charges-list.component.test.ts} (74%)
copy src/app/features/{loans/loan-undo-approval-dialog.component.spec.ts =>
products/savings-undo-approval-dialog.component.test.ts} (80%)
copy src/app/features/{loans/loan-undo-approval-dialog.component.ts =>
products/savings-undo-approval-dialog.component.ts} (65%)
rename
src/app/features/products/share-dividends/{share-dividends-list.component.spec.ts
=> share-dividends-list.component.test.ts} (73%)
rename src/app/features/profile/{user-profile.component.spec.ts =>
user-profile.component.test.ts} (81%)
rename src/app/features/reporting/{report-execution.service.spec.ts =>
report-execution.service.test.ts} (96%)
rename src/app/features/reporting/{run-report.component.spec.ts =>
run-report.component.test.ts} (85%)
rename src/app/features/security/audit-logs/{audit-logs-list.component.spec.ts
=> audit-logs-list.component.test.ts} (73%)
create mode 100644 src/app/features/security/roles/role-form.component.test.ts
rename src/app/features/security/roles/{roles-list.component.spec.ts =>
roles-list.component.test.ts} (82%)
rename src/app/features/settings/{holiday-form.component.spec.ts =>
holiday-form.component.test.ts} (78%)
rename src/app/features/settings/{holidays-list.component.spec.ts =>
holidays-list.component.test.ts} (76%)
rename src/app/features/settings/{working-days.component.spec.ts =>
working-days.component.test.ts} (80%)
rename src/app/features/spm/likelihood/{likelihood.component.spec.ts =>
likelihood.component.test.ts} (78%)
rename src/app/features/spm/poverty-line/{poverty-line.component.spec.ts =>
poverty-line.component.test.ts} (79%)
rename src/app/features/spm/scorecards/{scorecards.component.spec.ts =>
scorecards.component.test.ts} (84%)
rename src/app/features/spm/surveys/{spm-surveys-form.component.spec.ts =>
spm-surveys-form.component.test.ts} (81%)
rename src/app/features/spm/surveys/{spm-surveys-list.component.spec.ts =>
spm-surveys-list.component.test.ts} (83%)
rename src/app/features/system/adhoc-query/{adhoc-query-form.component.spec.ts
=> adhoc-query-form.component.test.ts} (83%)
rename src/app/features/system/adhoc-query/{adhoc-query-list.component.spec.ts
=> adhoc-query-list.component.test.ts} (70%)
delete mode 100644
src/app/features/system/bulk-import/bulk-import.component.spec.ts
create mode 100644
src/app/features/system/bulk-import/bulk-import.component.test.ts
rename
src/app/features/system/business-steps/{business-steps.component.spec.ts =>
business-steps.component.test.ts} (85%)
rename src/app/features/system/cache/{cache.component.spec.ts =>
cache.component.test.ts} (78%)
rename
src/app/features/system/credit-bureau-config/{credit-bureau-config.component.spec.ts
=> credit-bureau-config.component.test.ts} (83%)
rename src/app/features/system/data-tables/{datatables-form.component.spec.ts
=> datatables-form.component.test.ts} (80%)
rename
src/app/features/system/delinquency/{delinquency-management.component.spec.ts
=> delinquency-management.component.test.ts} (81%)
rename
src/app/features/system/entity-data-table-checks/{entity-data-table-checks-form.component.spec.ts
=> entity-data-table-checks-form.component.test.ts} (80%)
rename
src/app/features/system/entity-data-table-checks/{entity-data-table-checks-list.component.spec.ts
=> entity-data-table-checks-list.component.test.ts} (74%)
rename
src/app/features/system/entity-mapping/{entity-mapping-form.component.spec.ts
=> entity-mapping-form.component.test.ts} (85%)
rename
src/app/features/system/entity-mapping/{entity-mapping-list.component.spec.ts
=> entity-mapping-list.component.test.ts} (70%)
rename
src/app/features/system/external-events/{external-events.component.spec.ts =>
external-events.component.test.ts} (81%)
rename
src/app/features/system/external-services/{external-services.component.spec.ts
=> external-services.component.test.ts} (78%)
rename
src/app/features/system/field-configuration/{field-configuration.component.spec.ts
=> field-configuration.component.test.ts} (83%)
rename src/app/features/system/hooks/{hooks-form.component.spec.ts =>
hooks-form.component.test.ts} (83%)
rename src/app/features/system/hooks/{hooks-list.component.spec.ts =>
hooks-list.component.test.ts} (70%)
rename src/app/features/system/instance-mode/{instance-mode.component.spec.ts
=> instance-mode.component.test.ts} (76%)
rename
src/app/features/system/loan-product-details/{loan-product-details.component.spec.ts
=> loan-product-details.component.test.ts} (81%)
rename
src/app/features/system/notifications-config/{notifications-config.component.spec.ts
=> notifications-config.component.test.ts} (77%)
rename src/app/features/system/oidc-config/{oidc-config.component.spec.ts =>
oidc-config.component.test.ts} (84%)
rename
src/app/features/system/password-preferences/{password-preferences.component.spec.ts
=> password-preferences.component.test.ts} (81%)
rename src/app/features/system/permissions/{permissions.component.spec.ts =>
permissions.component.test.ts} (77%)
rename
src/app/features/system/report-definitions/{report-definition-form.component.spec.ts
=> report-definition-form.component.test.ts} (81%)
rename
src/app/features/system/report-definitions/{report-definitions-list.component.spec.ts
=> report-definitions-list.component.test.ts} (81%)
rename
src/app/features/system/report-mailing-jobs/{report-mailing-jobs-form.component.spec.ts
=> report-mailing-jobs-form.component.test.ts} (85%)
rename
src/app/features/system/report-mailing-jobs/{report-mailing-jobs-list.component.spec.ts
=> report-mailing-jobs-list.component.test.ts} (70%)
rename
src/app/features/system/scheduler-jobs/{scheduler-job-history.component.spec.ts
=> scheduler-job-history.component.test.ts} (83%)
delete mode 100644
src/app/features/system/scheduler-jobs/scheduler-jobs-list.component.spec.ts
create mode 100644
src/app/features/system/scheduler-jobs/scheduler-jobs-list.component.test.ts
rename src/app/features/system/sms/{sms-form.component.spec.ts =>
sms-form.component.test.ts} (81%)
rename src/app/features/system/sms/{sms-list.component.spec.ts =>
sms-list.component.test.ts} (70%)
create mode 100644 src/app/features/system/system.routes.test.ts
create mode 100644
src/app/features/tasks/checker-inbox/checker-inbox.component.test.ts
rename
src/app/features/tasks/checker-inbox/{view-payload-dialog.component.spec.ts =>
view-payload-dialog.component.test.ts} (93%)
rename src/app/features/tasks/work-queues/{work-queues.component.spec.ts =>
work-queues.component.test.ts} (65%)
rename
src/app/features/tellers/cashiers/{cashier-transaction-form.component.spec.ts
=> cashier-transaction-form.component.test.ts} (93%)
rename
src/app/features/tellers/cashiers/{cashier-transactions.component.spec.ts =>
cashier-transactions.component.test.ts} (92%)
rename src/app/features/tellers/{teller-form.component.spec.ts =>
teller-form.component.test.ts} (77%)
rename src/app/features/transfers/{account-transfer-form.component.spec.ts =>
account-transfer-form.component.test.ts} (80%)
rename src/app/features/transfers/{standing-instruction-form.component.spec.ts
=> standing-instruction-form.component.test.ts} (84%)
rename
src/app/features/working-capital/breach/{wc-breach-form.component.spec.ts =>
wc-breach-form.component.test.ts} (82%)
rename
src/app/features/working-capital/breach/{wc-breach-list.component.spec.ts =>
wc-breach-list.component.test.ts} (72%)
rename
src/app/features/working-capital/loan-products/{wc-loan-product-form.component.spec.ts
=> wc-loan-product-form.component.test.ts} (82%)
rename
src/app/features/working-capital/loan-products/{wc-loan-products-list.component.spec.ts
=> wc-loan-products-list.component.test.ts} (72%)
create mode 100644
src/app/features/working-capital/loans/wc-breach-action-form.component.test.ts
create mode 100644
src/app/features/working-capital/loans/wc-breach-action-form.component.ts
create mode 100644
src/app/features/working-capital/loans/wc-delinquency-action-form.component.test.ts
create mode 100644
src/app/features/working-capital/loans/wc-delinquency-action-form.component.ts
rename
src/app/features/working-capital/loans/{wc-loan-action-form.component.spec.ts
=> wc-loan-action-form.component.test.ts} (50%)
create mode 100644
src/app/features/working-capital/loans/wc-loan-charge-form.component.test.ts
copy src/app/features/{loans/charges/loan-charge-form.component.ts =>
working-capital/loans/wc-loan-charge-form.component.ts} (65%)
rename src/app/features/working-capital/loans/{wc-loan-form.component.spec.ts
=> wc-loan-form.component.test.ts} (60%)
delete mode 100644
src/app/features/working-capital/loans/wc-loan-view.component.spec.ts
create mode 100644
src/app/features/working-capital/loans/wc-loan-view.component.test.ts
rename src/app/features/working-capital/loans/{wc-loans-list.component.spec.ts
=> wc-loans-list.component.test.ts} (84%)
create mode 100644
src/app/features/working-capital/loans/wc-near-breach-action-form.component.test.ts
copy
src/app/features/{system/entity-data-table-checks/entity-data-table-checks-form.component.ts
=> working-capital/loans/wc-near-breach-action-form.component.ts} (51%)
rename
src/app/features/working-capital/near-breach/{wc-near-breach-form.component.spec.ts
=> wc-near-breach-form.component.test.ts} (59%)
rename
src/app/features/working-capital/near-breach/{wc-near-breach-list.component.spec.ts
=> wc-near-breach-list.component.test.ts} (56%)
create mode 100644 src/app/layout/breadcrumb.component.test.ts
create mode 100644 src/app/layout/breadcrumb.component.ts
create mode 100644 src/app/layout/breadcrumb.test.ts
create mode 100644 src/app/layout/breadcrumb.ts
delete mode 100644 src/app/layout/header.component.spec.ts
create mode 100644 src/app/layout/header.component.test.ts
rename src/app/layout/{inactivity-dialog.component.spec.ts =>
inactivity-dialog.component.test.ts} (92%)
create mode 100644 src/app/layout/keyboard-shortcuts.test.ts
create mode 100644 src/app/layout/keyboard-shortcuts.ts
delete mode 100644 src/app/layout/main-layout.component.spec.ts
create mode 100644 src/app/layout/main-layout.component.test.ts
rename src/app/layout/{sidebar.component.spec.ts => sidebar.component.test.ts}
(100%)
rename src/app/shared/components/charts/{donut-chart.component.spec.ts =>
donut-chart.component.test.ts} (95%)
rename
src/app/shared/components/create-office-dialog/{create-office-dialog.component.spec.ts
=> create-office-dialog.component.test.ts} (84%)
rename src/app/shared/components/data-table/{cell-template.directive.spec.ts
=> cell-template.directive.test.ts} (100%)
rename src/app/shared/components/data-table/{data-table.component.spec.ts =>
data-table.component.test.ts} (98%)
rename
src/app/shared/components/entity-datatables/{entity-datatables.component.spec.ts
=> entity-datatables.component.test.ts} (80%)
rename src/app/shared/components/help-icon/{help-icon.component.spec.ts =>
help-icon.component.test.ts} (100%)
rename src/app/shared/components/paginator/{paginator.component.spec.ts =>
paginator.component.test.ts} (95%)
rename src/app/shared/components/status-badge/{status-badge.component.spec.ts
=> status-badge.component.test.ts} (100%)
create mode 100644 src/app/shared/components/stepper/stepper.component.test.ts
create mode 100644 src/app/shared/components/stepper/stepper.component.ts
rename src/app/shared/directives/{has-institution-feature.directive.spec.ts =>
has-institution-feature.directive.test.ts} (100%)
rename src/app/shared/directives/{requires-permission.directive.spec.ts =>
requires-permission.directive.test.ts} (100%)
create mode 100644 src/app/shared/directives/tooltip-registry.service.ts
create mode 100644 src/app/shared/directives/tooltip.directive.spec.ts
rename src/app/shared/pipes/{permission-summary.pipe.spec.ts =>
permission-summary.pipe.test.ts} (100%)
create mode 100644 src/app/testing/mocks.ts
create mode 100644 src/testing/vitest-setup.ts
create mode 100644 tsconfig.vitest.json
create mode 100644 vitest.config.ts