You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@fineract.apache.org by "zhangxinyao88 (via GitHub)" <gi...@apache.org> on 2026/10/18 13:46:32 UTC
[PR] fix(pagination): show exact server record totals by default [fineract-backoffice-ui]
zhangxinyao88 opened a new pull request, #812:
URL: https://github.com/apache/fineract-backoffice-ui/pull/812
A server-provided total of 1, 11 or 21 was interpreted as an unknown-total sentinel, so Loans showed βof manyβ even when Fineract supplied an exact count. Make exact totals the default in the paginator and data table. Audit Logs explicitly keeps its estimated-total mode; Clients name search already selects that mode.
Closes #743.
Regression coverage checks the default numeric labels for 1/11/21, explicit unknown-total mode, and the full-page Audit Logs sentinel. Synthetic browser tests cover loan totals and last-page navigation, the audit sentinel, and the existing client pagination flows.
Validation:
- Before the implementation change: 6 regression failures / 72 passes in the three focused component suites (the exact totals incorrectly read βof manyβ).
- `npm ci`; complete Vitest suite: 305 files / 2,448 tests passed.
- Complete affected mocked Playwright spec: 17 passed, no retries, against the production output served over task-local HTTPS. No banking backend used.
- `NG_BUILD_MAX_WORKERS=2 npm run build`: passed on Node 22.23.2, with the existing header stylesheet budget warning.
- Lint, format, i18n, icons, accessible names, template text, UI primitives, E2E typecheck, API surface and license-header checks passed.
- GA advisory: 0 blocking failures / 0 undetermined gates; existing 11 adapter migration sites remain.
The browser run used the production bundle because of the previously recorded local dev-server startup limitation. No API, generated-client, authorization or transaction behavior changes. The commit is signed.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@fineract.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] fix(pagination): show exact server record totals by default [fineract-backoffice-ui]
Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #812:
URL: https://github.com/apache/fineract-backoffice-ui/pull/812#issuecomment-6251820041
<!-- pr-sequence-diagram -->
### π What this change talks to
From the 3 application TypeScript file(s) changed in this pull request.
```mermaid
sequenceDiagram
autonumber
participant AuditLogsListComponent as AuditLogsListComponent (Component)
participant AuditsService as AuditsService (API client)
participant Fineract as Fineract (REST API)
participant DialogService as DialogService (Injected)
participant DOWNLOAD as DOWNLOAD (Injected)
participant PaginatorComponent as PaginatorComponent (Component)
participant I18N as I18N (Injected)
AuditLogsListComponent->>AuditsService: getAudits()
AuditsService->>Fineract: getAudits()
Fineract-->>AuditsService: response
AuditLogsListComponent->>DialogService: open()
AuditLogsListComponent->>DOWNLOAD: saveText()
PaginatorComponent->>I18N: currentLang()
PaginatorComponent->>I18N: translate()
```
> Static analysis of `inject()` fields and the calls made on them β not an execution trace. It cannot see dynamic dispatch, and generated API clients under `src/app/api` are collapsed into the single `Fineract` participant.
<sub>Generated by [run 39133022726](https://github.com/apache/fineract-backoffice-ui/actions/runs/39133022726) from `92fef99`. The run executed a fork branch, so treat its contents as unverified.</sub>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@fineract.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] fix(pagination): show exact server record totals by default [fineract-backoffice-ui]
Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #812:
URL: https://github.com/apache/fineract-backoffice-ui/pull/812#issuecomment-6251916219
<!-- e2e-report-mocked -->
### E2E β mocked backend
## π E2E Tests
**β
All green** β 427 passed Β· 0 failed Β· 1 skipped Β· 2 flaky, across 40 spec files in 7m 47s.
### β οΈ Passed on retry
Green overall, but these needed more than one attempt β the shape a flake takes.
- **a single-crumb page shows no breadcrumb trail** β `breadcrumb.spec.ts` (1 retry/retries)
- **Delinquency pause and resume on a regular loan βΊ sends nothing when the pause dialog is cancelled** β `loan-delinquency-actions.spec.ts` (1 retry/retries)
### By spec file
| Spec | β
| β | βοΈ | π | Time |
| --- | ---: | ---: | ---: | ---: | ---: |
| accessibility.spec.ts | 5 | 0 | 0 | 0 | 33.8s |
| all-functions-read-shortcut.spec.ts | 5 | 0 | 0 | 0 | 11.3s |
| branded-deployment.spec.ts | 9 | 0 | 0 | 0 | 20.1s |
| breadcrumb.spec.ts | 2 | 0 | 0 | 0 | 6.4s |
| client-date-picker-revisit.spec.ts | 1 | 0 | 0 | 0 | 6.5s |
| client-servicing-gaps.spec.ts | 14 | 0 | 0 | 0 | 1m 1s |
| client.spec.ts | 1 | 0 | 0 | 0 | 4.1s |
| collateral-currency-search.spec.ts | 5 | 0 | 0 | 0 | 16.8s |
| date-picker-revisit.spec.ts | 6 | 0 | 0 | 0 | 26.9s |
| deployment-customization.spec.ts | 19 | 0 | 0 | 0 | 38.5s |
| deposit-product-edit.spec.ts | 2 | 0 | 0 | 0 | 7.3s |
| e2e-journey.spec.ts | 81 | 0 | 0 | 0 | 3m 4s |
| feature-coverage.spec.ts | 49 | 0 | 0 | 0 | 1m 55s |
| functional-coverage.spec.ts | 42 | 0 | 0 | 0 | 2m 4s |
| global-search-nav-shortcuts.spec.ts | 4 | 0 | 0 | 0 | 9.9s |
| global-search-navigation.spec.ts | 8 | 0 | 0 | 0 | 21.2s |
| group-detail.spec.ts | 8 | 0 | 0 | 0 | 34.9s |
| guidance-tour.spec.ts | 5 | 0 | 1 | 0 | 15.1s |
| keyboard-shortcuts.spec.ts | 5 | 0 | 0 | 0 | 11.1s |
| list-load-failure.spec.ts | 5 | 0 | 0 | 0 | 19.0s |
| list-pagination.spec.ts | 17 | 0 | 0 | 0 | 1m 10s |
| loan-delinquency-actions.spec.ts | 11 | 0 | 0 | 0 | 45.9s |
| loan-portfolio-summary.spec.ts | 4 | 0 | 0 | 0 | 15.5s |
| loan-product-down-payment.spec.ts | 13 | 0 | 0 | 0 | 1m 0s |
| charge-refund.spec.ts | 1 | 0 | 0 | 0 | 5.3s |
| client-accounts.spec.ts | 2 | 0 | 0 | 0 | 7.5s |
| client-load-error.spec.ts | 2 | 0 | 0 | 0 | 5.1s |
| contract-termination.spec.ts | 1 | 0 | 0 | 0 | 6.6s |
| loan-schedule-type-gating.spec.ts | 6 | 0 | 0 | 0 | 14.6s |
| loan-servicing-gaps.spec.ts | 18 | 0 | 0 | 0 | 51.3s |
| logout-reason-notice.spec.ts | 4 | 0 | 0 | 0 | 2.7s |
| oidc-login.spec.ts | 8 | 0 | 0 | 0 | 9.5s |
| rbac-feature-flag.spec.ts | 11 | 0 | 0 | 0 | 15.1s |
| rbac-route-protection.spec.ts | 18 | 0 | 0 | 0 | 1m 23s |
| report-enhancements.spec.ts | 2 | 0 | 0 | 0 | 5.7s |
| reporting.spec.ts | 2 | 0 | 0 | 0 | 3.3s |
| scheduler-jobs.spec.ts | 3 | 0 | 0 | 0 | 8.3s |
| sidebar-active-state.spec.ts | 1 | 0 | 0 | 0 | 59.6s |
| two-factor-authentication.spec.ts | 10 | 0 | 0 | 0 | 15.0s |
| working-capital-loan-actions.spec.ts | 17 | 0 | 0 | 0 | 54.1s |
<details>
<summary><b>All 428 tests</b> β click to expand</summary>
**`accessibility.spec.ts`**
- β
Runtime accessibility βΊ client list has no blocking violations β `4.9s`
- β
Runtime accessibility βΊ client list links meet color contrast in dark mode β `4.6s`
- β
Runtime accessibility βΊ client form has no blocking violations β `4.6s`
- β
Runtime accessibility βΊ banner and dashboard content have no blocking violations β `14.7s`
- β
Runtime accessibility βΊ create office dialog has no blocking violations β `5.0s`
**`all-functions-read-shortcut.spec.ts`**
- β
ALL_FUNCTIONS_READ shortcut βΊ grants read access to the Clients list without any explicit READ_CLIENT permission β `2.4s`
- β
ALL_FUNCTIONS_READ shortcut βΊ does not grant the Create Client action β `2.4s`
- β
ALL_FUNCTIONS_READ shortcut βΊ does not grant Create Client even combined with an explicit READ_CLIENT permission β `2.0s`
- β
ALL_FUNCTIONS_READ shortcut βΊ a user with the real CREATE_CLIENT permission still sees the button β `2.0s`
- β
ALL_FUNCTIONS_READ shortcut βΊ ALL_FUNCTIONS (full superuser) still sees the Create Client button β `2.5s`
**`branded-deployment.spec.ts`**
- β
a fully branded deployment βΊ wears the institutionβs name and mark, not Fineractβs β `2.1s`
- β
a fully branded deployment βΊ carries the institutionβs palette into its own chrome and into Ionic β `2.1s`
- β
a fully branded deployment βΊ drops the sections the institution does not run β `2.1s`
- β
a fully branded deployment βΊ renames and reorders entries to the institutionβs vocabulary β `2.1s`
- β
a fully branded deployment βΊ offers the institutionβs own systems beside Fineractβs screens β `2.0s`
- β
a fully branded deployment βΊ restates the labels the institution words differently β `2.1s`
- β
a fully branded deployment βΊ keeps a readable palette in dark mode, with a label colour to match β `2.0s`
- β
a fully branded deployment βΊ does not leak a light colour into the dark palette β `2.1s`
- β
a fully branded deployment βΊ reports no configuration defects for the published example β `3.5s`
**`breadcrumb.spec.ts`**
- β
a single-crumb page shows no breadcrumb trail β `3.0s` _(retried 1Γ)_
- β
a nested page shows a trail, and the ancestor crumb navigates back β `3.4s`
**`client-date-picker-revisit.spec.ts`**
- β
Client form date pickers βΊ stay usable on a second visit to the create form β `6.5s`
**`client-servicing-gaps.spec.ts`**
- β
Client transfers βΊ proposing a transfer sends the destination, the date and the format that parses it β `4.5s`
- β
Client transfers βΊ a one-step transfer omits the date the platform refuses β `4.6s`
- β
Client transfers βΊ the clientβs own office is not offered as a destination β `4.7s`
- β
Client transfers βΊ accepting a transfer sends a note and nothing else β `4.4s`
- β
Client transfers βΊ accepting with no note sends an empty body β `4.1s`
- β
Client transfers βΊ rejecting a transfer is offered while one is pending β `4.6s`
- β
Client transfers βΊ withdrawing is offered from on hold, which is the only way back β `4.3s`
- β
Client transfers βΊ answers to a transfer are not offered when none is pending β `3.6s`
- β
Client staff and default savings account βΊ assigning a member of staff sends the staff id β `4.9s`
- β
Client staff and default savings account βΊ unassigning echoes the current holder back, which the platform requires β `4.4s`
- β
Client staff and default savings account βΊ unassigning is not offered when nobody is assigned β `3.8s`
- β
Client staff and default savings account βΊ the assigned officer is shown on the header β `3.5s`
- β
Client staff and default savings account βΊ setting the default savings account sends the account id β `4.8s`
- β
Undoing a rejection βΊ posts the command name the platform recognises, not the menu identifier β `4.8s`
**`client.spec.ts`**
- β
Client Management βΊ should create a new client β `4.1s`
**`collateral-currency-search.spec.ts`**
- β
Collateral product currency β searchable select (#β626) βΊ the field is closed with no option list until it is opened β `3.4s`
- β
Collateral product currency β searchable select (#β626) βΊ typing narrows a long, alphabetical list to the matching currency β `3.4s`
- β
Collateral product currency β searchable select (#β626) βΊ matches by currency code as well as by name β `3.0s`
- β
Collateral product currency β searchable select (#β626) βΊ shows a "no results" message rather than an empty panel β `3.4s`
- β
Collateral product currency β searchable select (#β626) βΊ Cancel closes the picker without changing the selection β `3.5s`
**`date-picker-revisit.spec.ts`**
- β
Date pickers on revisited forms βΊ office form keeps its pickers usable on every visit β `4.4s`
- β
Date pickers on revisited forms βΊ staff form keeps its pickers usable on every visit β `4.6s`
- β
Date pickers on revisited forms βΊ holiday form keeps its pickers usable on every visit β `4.6s`
- β
Date pickers on revisited forms βΊ teller form keeps its pickers usable on every visit β `4.1s`
- β
Date pickers on revisited forms βΊ accounting closure form keeps its pickers usable on every visit β `4.5s`
- β
Date pickers on revisited forms βΊ floating rate form keeps its pickers usable on every visit β `4.7s`
**`deployment-customization.spec.ts`**
- β
with no overlay mounted βΊ boots, keeps the shipped branding, and shows the full menu β `2.1s`
- β
with no overlay mounted βΊ does not ask for an overlay this deployment has not declared β `2.0s`
- β
with no overlay mounted βΊ logs no federation parse error on load β `2.0s`
- β
branding βΊ applies colour and density tokens to the document β `2.1s`
- β
branding βΊ recolours Ionic through the same tokens β `1.7s`
- β
branding βΊ renames the product in the header and the tab title β `3.6s`
- β
branding βΊ serves the deployment logo and names it after the deployment β `1.9s`
- β
branding βΊ refuses a fill that cannot carry the white text baked into the stylesheet β `2.1s`
- β
branding βΊ accepts a light accent and derives a dark label for it β `1.7s`
- β
branding βΊ ignores a token outside the published allow-list, and says so β `2.1s`
- β
navigation βΊ hides an entry named by its id β `2.0s`
- β
navigation βΊ does not hide an entry named by its labelKey β `2.1s`
- β
navigation βΊ renames and reorders entries β `1.7s`
- β
navigation βΊ adds an external entry that opens in a new tab β `2.0s`
- β
navigation βΊ nests an added entry under an existing group β `2.1s`
- β
navigation βΊ gates an added entry on permissions like any built-in one β `1.7s`
- β
navigation βΊ drops an external entry with no usable url rather than rendering a dead link β `1.9s`
- β
layering βΊ merges over config.json instead of replacing it β `2.1s`
- β
layering βΊ a malformed overlay leaves the application usable β `1.7s`
**`deposit-product-edit.spec.ts`**
- β
Editing a deposit product keeps what it was not asked to change βΊ a fixed deposit product keeps its deposit amount, accounting and rate chart on save β `3.6s`
- β
Editing a deposit product keeps what it was not asked to change βΊ a recurring deposit product keeps its deposit amount, accounting and rate chart on save β `3.7s`
**`e2e-journey.spec.ts`**
- β
E2E: Login Flow βΊ should display login page with all required fields β `1.8s`
- β
E2E: Login Flow βΊ should have Sign In button disabled when fields are empty β `1.3s`
- β
E2E: Login Flow βΊ should enable Sign In when credentials are entered β `1.7s`
- β
E2E: Login Flow βΊ should redirect to dashboard after successful login β `1.6s`
- β
E2E: Login Flow βΊ should display language selector on login page β `1.3s`
- β
E2E: Login Flow βΊ should display API endpoint selector with value β `1.3s`
- β
E2E: Dashboard βΊ should display dashboard summary cards β `2.1s`
- β
E2E: Dashboard βΊ should display system health as Online β `1.7s`
- β
E2E: Dashboard βΊ should display pending approvals section β `1.7s`
- β
E2E: Dashboard βΊ should display loan and savings status distribution charts β `1.7s`
- β
E2E: Dashboard βΊ should display system operational status β `1.7s`
- β
E2E: Dashboard βΊ should have header with business date, render time, and logout β `2.1s`
- β
E2E: Dashboard βΊ should have sidebar toggle button β `2.1s`
- β
E2E: Dashboard βΊ should have global search bar in header β `1.7s`
- β
E2E: Dashboard βΊ should have Guide button in header β `1.7s`
- β
E2E: Dashboard βΊ should have dark mode toggle button β `2.1s`
- β
E2E: Sidebar Navigation βΊ should have all main navigation links β `1.7s`
- β
E2E: Sidebar Navigation βΊ should have Products section with sub-links β `2.1s`
- β
E2E: Sidebar Navigation βΊ should have Transfers section with sub-links β `2.0s`
- β
E2E: Sidebar Navigation βΊ should have Accounting section with sub-links β `1.7s`
- β
E2E: Sidebar Navigation βΊ should have Security section β `2.2s`
- β
E2E: Sidebar Navigation βΊ should have Settings section β `2.1s`
- β
E2E: Sidebar Navigation βΊ should have Organization section β `1.7s`
- β
E2E: Sidebar Navigation βΊ should have System section β `2.0s`
- β
E2E: Sidebar Navigation βΊ should navigate to all major pages via sidebar β `4.2s`
- β
E2E: Offices βΊ should display offices list with table β `2.1s`
- β
E2E: Offices βΊ should have Create Office button β `1.9s`
- β
E2E: Offices βΊ should navigate to office create form β `2.2s`
- β
E2E: Offices βΊ should validate office create form - save disabled when empty β `2.2s`
- β
E2E: Offices βΊ should fill office create form and enable save β `2.9s`
- β
E2E: Offices βΊ should cancel office creation and return to list β `2.7s`
- β
E2E: Offices βΊ should have search input on offices page β `2.4s`
- β
E2E: Offices βΊ should show edit button for each office β `2.4s`
- β
E2E: Offices βΊ should have pagination controls β `2.5s`
- β
E2E: Clients βΊ should display clients list page β `2.4s`
- β
E2E: Clients βΊ should display client data in table β `2.4s`
- β
E2E: Clients βΊ should show ACTIVE status badge β `2.6s`
- β
E2E: Clients βΊ should have Create Client button β `2.2s`
- β
E2E: Clients βΊ should show empty state when no clients exist β `2.1s`
- β
E2E: Clients βΊ should have search input and status filter β `2.4s`
- β
E2E: Clients βΊ should have pagination controls β `2.0s`
- β
E2E: Client Creation βΊ should navigate to client create form β `2.8s`
- β
E2E: Client Creation βΊ should display all required client form fields, across the wizard steps β `3.4s`
- β
E2E: Client Creation βΊ should display optional client form fields, across the wizard steps β `4.1s`
- β
E2E: Client Creation βΊ should have Next disabled until the current step is valid β `3.3s`
- β
E2E: Client Creation βΊ should populate office dropdown from API β `2.4s`
- β
E2E: Client Creation βΊ should fill client form and enable save on the last step β `3.9s`
- β
E2E: Client Creation βΊ should submit client and redirect to clients list β `4.0s`
- β
E2E: Client Creation βΊ should cancel client creation and return to clients list β `2.9s`
- β
E2E: Client Creation βΊ should have add office quick-action button β `2.7s`
- β
E2E: Client Creation βΊ should have help icons for form fields β `1.9s`
- β
E2E: Client Creation βΊ should have calendar buttons for date fields β `2.8s`
- β
E2E: Client Creation βΊ should have pre-filled dates in Submitted On and Activation Date β `3.2s`
- β
E2E: Client Creation βΊ should have Active checkbox checked by default β `2.6s`
- β
E2E: Client Creation βΊ should handle Entity legal form showing fullname field β `3.4s`
- β
E2E: Loan Products Page βΊ should display loan products list page β `2.4s`
- β
E2E: Loan Products Page βΊ should have Create Loan Product button β `2.0s`
- β
E2E: Loan Products Page βΊ should display table with correct headers β `2.0s`
- β
E2E: Loan Products Page βΊ should show empty state when no products exist β `2.4s`
- β
E2E: Loan Products Page βΊ should have search input β `2.0s`
- β
E2E: Loan Products Page βΊ should navigate to loan product create form β `2.3s`
- β
E2E: Savings Products Page βΊ should display savings products list page β `2.4s`
- β
E2E: Other Products Pages βΊ Fixed Deposit Products page loads β `2.0s`
- β
E2E: Other Products Pages βΊ Recurring Deposit Products page loads β `2.4s`
- β
E2E: Other Products Pages βΊ Share Products page loads β `2.0s`
- β
E2E: Other Products Pages βΊ Tax Components page loads β `2.0s`
- β
E2E: Other Products Pages βΊ Tax Groups page loads β `2.4s`
- β
E2E: Other Products Pages βΊ Floating Rates page loads β `2.4s`
- β
E2E: Loans Portfolio βΊ should display loans portfolio page β `2.4s`
- β
E2E: Loans Portfolio βΊ should have Create Loan Account button β `2.1s`
- β
E2E: Loans Portfolio βΊ should display table with correct headers β `2.1s`
- β
E2E: Loans Portfolio βΊ should show empty state when no loans exist β `2.3s`
- β
E2E: Loans Portfolio βΊ should have search input β `2.4s`
- β
E2E: Loans Portfolio βΊ should have pagination controls β `2.5s`
- β
E2E: Header & Global Elements βΊ should display Fineract logo and title in header β `2.0s`
- β
E2E: Header & Global Elements βΊ should display logged-in username β `1.9s`
- β
E2E: Header & Global Elements βΊ should display office name for user β `2.0s`
- β
E2E: Header & Global Elements βΊ should have Logout button β `2.1s`
- β
E2E: Header & Global Elements βΊ should have language selector in header β `2.1s`
- β
E2E: Header & Global Elements βΊ should display render time β `2.1s`
- β
E2E: Header & Global Elements βΊ should display business date β `1.7s`
**`feature-coverage.spec.ts`**
- β
Navigation & Sidebar βΊ all main navigation links are visible in sidebar β `2.6s`
- β
Navigation & Sidebar βΊ sidebar navigation routes to correct pages β `3.4s`
- β
Navigation & Sidebar βΊ navigating to /accounting redirects to /accounting/chart-of-accounts β `3.2s`
- β
Navigation & Sidebar βΊ navigating to /organization redirects to /organization/offices β `3.5s`
- β
Navigation & Sidebar βΊ navigating to /system redirects to /system/data-tables β `3.3s`
- β
Navigation & Sidebar βΊ an unknown route keeps its URL and offers recovery actions β `3.5s`
- β
Navigation & Sidebar βΊ header shows logged-in user info β `1.7s`
- β
Navigation & Sidebar βΊ help tour button is visible and interactive β `2.1s`
- β
Navigation & Sidebar βΊ logout button is visible β `1.7s`
- β
Navigation & Sidebar βΊ language selector is present β `1.9s`
- β
Dashboard βΊ dashboard shows key metrics cards β `2.1s`
- β
Dashboard βΊ dashboard shows pending approvals section β `1.7s`
- β
Dashboard βΊ dashboard shows loan and savings status distribution β `2.0s`
- β
Dashboard βΊ dashboard shows system operational status β `2.1s`
- β
Groups βΊ groups page renders with title β `2.3s`
- β
Groups βΊ groups page has create button β `2.3s`
- β
Centers βΊ centers page renders with title β `1.9s`
- β
Centers βΊ centers page has create button β `2.4s`
- β
Organization βΊ offices page loads with list β `2.4s`
- β
Organization βΊ staff page loads β `2.4s`
- β
Organization βΊ funds page loads β `2.4s`
- β
Organization βΊ payment types page loads β `2.2s`
- β
Accounting βΊ chart of accounts loads β `2.2s`
- β
Accounting βΊ journal entries page loads β `2.5s`
- β
Accounting βΊ accounting closures loads β `2.2s`
- β
Accounting βΊ accounting rules loads β `2.3s`
- β
Accounting βΊ financial activity mappings loads β `2.0s`
- β
Accounting βΊ charges page loads β `2.4s`
- β
Security βΊ users page loads β `2.2s`
- β
Security βΊ roles page loads β `2.4s`
- β
Security βΊ audit logs page loads β `2.2s`
- β
Security βΊ leftover audit trails path lands on audits, not the dashboard β `3.5s`
- β
Products - Loan & Savings βΊ loan products page loads β `2.4s`
- β
Products - Loan & Savings βΊ savings products page loads β `2.4s`
- β
Products - Loan & Savings βΊ tax components page loads β `2.0s`
- β
Products - Loan & Savings βΊ tax groups page loads β `2.4s`
- β
Products - Loan & Savings βΊ floating rates page loads β `1.9s`
- β
Products - Loan & Savings βΊ savings accounts page loads β `2.5s`
- β
Settings βΊ global configurations page loads β `1.9s`
- β
Settings βΊ holidays page loads β `2.3s`
- β
Settings βΊ working days page loads β `2.3s`
- β
System βΊ data tables page loads β `2.4s`
- β
System βΊ bulk import page loads β `2.5s`
- β
System βΊ delinquency page loads β `2.3s`
- β
Tellers βΊ tellers page loads with create button β `2.3s`
- β
Transfers βΊ account transfer page loads β `2.5s`
- β
Transfers βΊ standing instructions page loads β `2.4s`
- β
Transfers βΊ SI history page loads β `1.9s`
- β
Embedded Fintech βΊ asset owners page loads β `2.0s`
**`functional-coverage.spec.ts`**
- β
Client CRUD Workflow βΊ should complete full client creation flow β Person β `4.4s`
- β
Client CRUD Workflow βΊ should complete full client creation flow β Entity β `3.6s`
- β
Client CRUD Workflow βΊ should cancel client creation and return to list β `2.6s`
- β
Client CRUD Workflow βΊ should disable office and legal form in edit mode β `3.7s`
- β
Client View & Status Transitions βΊ should display client view with correct details β `3.6s`
- β
Client View & Status Transitions βΊ should show actions menu for pending client (status 100) β `3.5s`
- β
Client View & Status Transitions βΊ should show actions menu for active client (status 300) β `3.6s`
- β
Client View & Status Transitions βΊ should show actions menu for closed client (status 600) β `3.7s`
- β
Client View & Status Transitions βΊ should show New Account menu for active client β `3.8s`
- β
Client View & Status Transitions βΊ should navigate from client view to client list via breadcrumb β `4.0s`
- β
Client View & Status Transitions βΊ should navigate back from client view β `3.6s`
- β
Client View Tabs βΊ should display all expected tabs on client view β `3.9s`
- β
Client View Tabs βΊ should switch between client view tabs β `4.1s`
- β
Search & Filter Interactions βΊ should have search input on clients page and accept input β `2.3s`
- β
Search & Filter Interactions βΊ should have office filter on groups page β `2.1s`
- β
Search & Filter Interactions βΊ should have office filter on loans page β `2.6s`
- β
Search & Filter Interactions βΊ should have search input on charges page β `2.4s`
- β
Navigation Flow Verification βΊ should navigate full client lifecycle: list β create β back β list β `3.2s`
- β
Navigation Flow Verification βΊ should navigate from dashboard to all top-level pages via sidebar β `4.5s`
- β
Navigation Flow Verification βΊ should go from loan products β create β back β `2.4s`
- β
Office CRUD βΊ should validate office create form β save disabled when empty β `2.7s`
- β
Office CRUD βΊ should validate office create form β save enabled when filled β `3.0s`
- β
Office CRUD βΊ should cancel office creation β `2.7s`
- β
Organization Create Flows βΊ staff create form loads β `2.6s`
- β
Organization Create Flows βΊ funds create form loads β `2.5s`
- β
Organization Create Flows βΊ payment types create form loads β `2.5s`
- β
Accounting CRUD βΊ accounting closure create form loads β `2.7s`
- β
Accounting CRUD βΊ accounting rule create form loads β `2.2s`
- β
Accounting CRUD βΊ financial activity mapping create form loads β `2.4s`
- β
Accounting CRUD βΊ charge create form loads β `2.5s`
- β
Accounting CRUD βΊ chart of accounts create form loads β `2.4s`
- β
Settings CRUD βΊ global configurations page has editable toggle β `2.0s`
- β
Settings CRUD βΊ holiday create form loads β `2.8s`
- β
Settings CRUD βΊ working days page has save button β `2.3s`
- β
System CRUD βΊ data table create form loads β `2.1s`
- β
System CRUD βΊ delinquency page has create buttons for ranges and buckets β `2.4s`
- β
Security CRUD βΊ role create form loads β `2.5s`
- β
Security CRUD βΊ audit logs search form has date range β `2.8s`
- β
Security CRUD βΊ audit logs list exports the loaded page as CSV β `2.7s`
- β
Reporting β Run Report Flow βΊ should navigate to report and verify report parameters β `3.3s`
- β
Teller CRUD βΊ teller create form loads β `2.6s`
- β
Create Office Dialog from Client Form βΊ should open create office dialog from client create form β `2.5s`
**`global-search-nav-shortcuts.spec.ts`**
- β
Global search navigation shortcuts βΊ offers a settings page the entity search cannot return β `2.4s`
- β
Global search navigation shortcuts βΊ navigates to the page behind a shortcut β `2.1s`
- β
Global search navigation shortcuts βΊ keeps the results open across the mousedown that starts a click, so a slow render cannot race the dropdown closed β `2.9s`
- β
Global search navigation shortcuts βΊ withholds a shortcut the user has no permission to reach β `2.5s`
**`global-search-navigation.spec.ts`**
- β
Global search navigation βΊ does not query the backend for a single character β `2.6s`
- β
Global search navigation βΊ sends one request for a phrase typed straight through β `3.5s`
- β
Global search navigation βΊ opens the client behind a client result β `2.2s`
- β
Global search navigation βΊ opens the loan behind a loan result β `2.3s`
- β
Global search navigation βΊ opens the savings account behind a savings result β `2.7s`
- β
Global search navigation βΊ clears the query and closes the dropdown after a selection β `2.5s`
- β
Global search navigation βΊ closes the dropdown when focus leaves without a selection β `2.6s`
- β
Global search navigation βΊ shows nothing rather than an empty dropdown when there are no matches β `2.9s`
**`group-detail.spec.ts`**
- β
Group detail βΊ custom field tabs expose the app keyboard and panel contract at 1280px β `4.2s`
- β
Group detail βΊ custom field tabs expose the app keyboard and panel contract at 390px β `4.6s`
- β
Group detail βΊ asks for the associations, and shows every member rather than only the active ones β `3.7s`
- β
Group detail βΊ closes a group with the reason id and a Fineract-formatted date β `5.6s`
- β
Group detail βΊ does not offer a client who is already a member, and associates the one it does β `4.3s`
- β
Group detail βΊ unassigns a committee role by the assignment id, not the role id β `4.5s`
- β
Group detail βΊ offers a retry when the group cannot be loaded β `3.4s`
- β
Group detail βΊ says so when no closure reason has been defined β `4.5s`
**`guidance-tour.spec.ts`**
- β
the guided tour βΊ highlights the System Status card, not the sidebar, on the dashboard tour β `2.6s`
- β
the guided tour βΊ presents the card as a dialog named and described by its own copy β `2.2s`
- β
the guided tour βΊ announces the step counter as a polite live region β `2.6s`
- β
the guided tour βΊ closes on Escape and hands focus back to the Guide button β `2.3s`
- β
the guided tour βΊ names an unmatched route after itself instead of handing it the dashboard tour β `3.8s`
- βοΈ the guided tour at a phone viewport βΊ opens from the overflow menu as a full-width bottom sheet β `1.6s`
**`keyboard-shortcuts.spec.ts`**
- β
Alt+C jumps straight to Create Client from anywhere β `2.5s`
- β
Alt+G jumps to Create Group β `2.4s`
- β
Alt+E jumps to Create Center β `1.9s`
- β
Alt+H opens the guidance tour for the current page β `2.3s`
- β
typing in the global search box does not trigger the Create Client shortcut β `2.1s`
**`list-load-failure.spec.ts`**
- β
entity-to-entity mapping βΊ renders the rows the endpoint returns, rather than claiming there are none β `3.5s`
- β
entity-to-entity mapping βΊ shows a failure state, not an empty one, when the payload cannot be read β `3.9s`
- β
entity-to-entity mapping βΊ retries and recovers β `4.0s`
- β
report mailing jobs βΊ reads rows out of the paged envelope the endpoint returns β `3.8s`
- β
report mailing jobs βΊ shows a failure state when the request errors β `3.8s`
**`list-pagination.spec.ts`**
- β
Server total modes βΊ shows an exact loan count of 1 without opting in β `4.0s`
- β
Server total modes βΊ shows an exact loan count of 11 without opting in β `3.8s`
- β
Server total modes βΊ shows an exact loan count of 21 without opting in β `4.0s`
- β
Server total modes βΊ keeps the unknown total for a full audit page β `3.8s`
- β
List pagination βΊ advances through pages and back again β `4.3s`
- β
List pagination βΊ jumps to the last page β `4.3s`
- β
List pagination βΊ returns to the first page when a filter changes β `4.6s`
- β
List pagination βΊ keeps search text when paging and shows the v2 account number β `4.3s`
- β
List pagination βΊ redirects the old search page and exposes only one client navigation item β `5.2s`
- β
List pagination βΊ keeps an account-number search broad and disables unsupported Office sorting β `5.0s`
- β
List pagination βΊ returns to the first page when searching β `4.1s`
- β
Profile βΊ renders the signed-in user rather than hanging on a spinner β `4.0s`
- β
Profile βΊ changes the signed-in user password from the profile screen β `3.6s`
- β
Profile βΊ shows an error when the profile cannot be loaded β `3.6s`
- β
List load failure βΊ reports the failure and reloads when the user retries β `4.0s`
- β
List load failure βΊ calendars: reports the failure and reloads when the user retries β `3.6s`
- β
List load failure βΊ accounting rules: reports the failure and reloads when the user retries β `4.1s`
**`loan-delinquency-actions.spec.ts`**
- β
Delinquency pause and resume on a regular loan βΊ shows the dates as dates, and the pause periods under their real fields β `4.1s`
- β
Delinquency pause and resume on a regular loan βΊ pauses delinquency for a period, from the business date β `4.3s`
- β
Delinquency pause and resume on a regular loan βΊ will not take a pause that ends before, or when, it starts β `3.7s`
- β
Delinquency pause and resume on a regular loan βΊ sends nothing when the pause dialog is cancelled β `5.5s` _(retried 1Γ)_
- β
Delinquency pause and resume on a regular loan βΊ shows the platformβs own reason when it refuses a pause, and stays usable β `4.8s`
- β
Delinquency pause and resume on a regular loan βΊ resumes a pause that is in effect, dated the business date and with no end date β `4.8s`
- β
Delinquency pause and resume on a regular loan βΊ stops offering resume once the pause has been ended β `4.0s`
- β
Delinquency pause and resume on a regular loan βΊ does not offer resume when no pause is in effect β `3.9s`
- β
Delinquency pause and resume on a regular loan βΊ offers neither action without the permission to create a delinquency action β `3.7s`
- β
Delinquency pause and resume on a regular loan βΊ offers the permitted user the actions that permission opens, and no others β `3.4s`
- β
Delinquency pause and resume on a regular loan βΊ offers neither action on a loan that is not active β `3.6s`
**`loan-portfolio-summary.spec.ts`**
- β
Loan Portfolio Summary βΊ searching sends entities: loans and shows the grouped results β `3.6s`
- β
Loan Portfolio Summary βΊ Edit Parameters returns from the results view to the filter form β `3.5s`
- β
Loan Portfolio Summary βΊ checking the outstanding-amount filter sends the between min/max values β `3.8s`
- β
Loan Portfolio Summary βΊ switching to a single-value comparison condition sends one value β `4.6s`
**`loan-product-down-payment.spec.ts`**
- β
Loan product down payment and tranches βΊ down payment is offered only for a progressive product β `4.7s`
- β
Loan product down payment and tranches βΊ the percentage and auto-repayment appear only once down payment is on β `4.8s`
- β
Loan product down payment and tranches βΊ multi-tranche disbursement reveals its tranche count, on either engine β `4.0s`
- β
Loan product down payment and tranches βΊ submits the down payment and tranche settings it was given β `5.3s`
- β
Loan product down payment and tranches βΊ does not send a down payment on a cumulative product β `5.8s`
- β
Loan product down payment and tranches βΊ income recognition is offered only for a progressive product β `4.3s`
- β
Loan product down payment and tranches βΊ the capitalisation details appear only once it is on β `4.8s`
- β
Loan product down payment and tranches βΊ submits the income recognition settings it was given β `5.1s`
- β
Loan product down payment and tranches βΊ does not send income recognition on a cumulative product β `6.1s`
- β
Loan product down payment and tranches βΊ interest recalculation reveals its mandatory settings only once it is on β `3.5s`
- β
Loan product down payment and tranches βΊ the rest interval appears only when the frequency is not the repayment period β `4.7s`
- β
Loan product down payment and tranches βΊ submits the interest recalculation settings it was given β `4.4s`
- β
Loan product down payment and tranches βΊ does not send recalculation settings once it is switched back off β `2.6s`
**`charge-refund.spec.ts`**
- β
refunds the remaining balance of a collected loan charge β `5.3s`
**`client-accounts.spec.ts`**
- β
loan account rows show the principal returned by the accounts endpoint β `3.0s`
- β
empty account tabs offer the matching creation action β `4.5s`
**`client-load-error.spec.ts`**
- β
shows a not-found state and returns to the list, without an error toast β `2.6s`
- β
offers a retry for a transient failure, and recovers on success β `2.5s`
**`contract-termination.spec.ts`**
- β
terminates and undoes a progressive loan contract β `6.6s`
**`loan-schedule-type-gating.spec.ts`**
- β
Loan schedule type gating βΊ a cumulative loan offers neither progressive-only tab, and fetches neither β `2.4s`
- β
Loan schedule type gating βΊ a progressive loan shows only the capabilities it actually has β `2.6s`
- β
Loan schedule type gating βΊ fetches buy-down fees for a progressive loan that has no external id β `2.4s`
- β
Loan schedule type gating βΊ a progressive loan with both capabilities shows both β `2.3s`
- β
Loan schedule type gating βΊ a charged-off loan says so and offers the reversal instead β `2.6s`
- β
Loan schedule type gating βΊ a healthy loan offers charge-off and no marker β `2.3s`
**`loan-servicing-gaps.spec.ts`**
- β
Loan servicing gaps βΊ edits an interest pause through PUT while preserving its existing dates β `2.7s`
- β
Loan servicing gaps βΊ undo approval sends an empty body, without the locale the platform refuses β `3.6s`
- β
Loan servicing gaps βΊ undo approval carries the reason when one was given β `3.2s`
- β
Loan servicing gaps βΊ undo approval is offered only while the loan is approved β `2.4s`
- β
Loan servicing gaps βΊ the delinquency tab shows the summary the loan carries and the tags it fetches β `2.5s`
- β
Loan servicing gaps βΊ the data-only tabs stay hidden when the loan carries nothing for them β `2.7s`
- β
Loan servicing gaps βΊ each data-only tab appears and renders once the loan carries its data β `2.4s`
- β
Loan servicing gaps βΊ disburse to savings sends the date and amount, with the platform date format β `4.1s`
- β
Loan servicing gaps βΊ disburse to savings is offered only on an approved loan β `2.3s`
- β
Loan servicing gaps βΊ unassign loan officer sends the date, and appears only when one is assigned β `3.3s`
- β
Loan servicing gaps βΊ unassign loan officer is hidden on a loan with no officer β `2.6s`
- β
Loan servicing gaps βΊ undo last disbursal appears only on a multi-disbursal loan, and sends an empty body β `3.3s`
- β
Loan servicing gaps βΊ undo last disbursal is hidden on a single-disbursal loan β `2.4s`
- β
Loan servicing gaps βΊ close as rescheduled is offered on an active loan β `3.0s`
- β
Loan servicing gaps βΊ revising the amounts is offered on an approved loan β `2.3s`
- β
Loan servicing gaps βΊ revising the amounts is hidden before approval β `2.4s`
- β
Loan servicing gaps βΊ revising the approved amount sends the new amount and locale β `3.0s`
- β
Loan servicing gaps βΊ revising the available disbursement amount sends the new amount, including zero β `3.1s`
**`logout-reason-notice.spec.ts`**
- β
explains an inactivity sign-out β `1.2s`
- β
explains an expired session, with different wording β `1.1s`
- β
stays silent when the user came to sign in of their own accord β `158ms`
- β
stays silent for a reason it does not recognise, rather than showing a blank notice β `187ms`
**`oidc-login.spec.ts`**
- β
identity-provider route on the login page βΊ a deployment that never set the flag sees the screen it always saw β `1.1s`
- β
identity-provider route on the login page βΊ does not offer the route when the flag is false β `1.2s`
- β
identity-provider route on the login page βΊ does not offer the route when the flag is "true" β `1.2s`
- β
identity-provider route on the login page βΊ does not offer the route when the flag is 1 β `1.1s`
- β
identity-provider route on the login page βΊ offers the route above the password form, which stays in place β `1.1s`
- β
identity-provider route on the login page βΊ says plainly that it is not available yet, and goes nowhere β `1.0s`
- β
identity-provider route on the login page βΊ username and password still sign in when the route is offered β `1.4s`
- β
identity-provider route on the login page βΊ is not offered while a second factor is being asked for β `1.3s`
**`rbac-feature-flag.spec.ts`**
- β
RBAC permission gating (rbacEnabled = true) βΊ a limited user does not see permission-gated nav groups β `1.2s`
- β
RBAC permission gating (rbacEnabled = true) βΊ a user with READ_USER sees only the Security entries that permission covers β `1.3s`
- β
RBAC permission gating (rbacEnabled = true) βΊ the Security group fills in as the user is granted each of its permissions β `1.2s`
- β
RBAC permission gating (rbacEnabled = true) βΊ a superuser (ALL_FUNCTIONS) sees all permission-gated groups β `1.3s`
- β
RBAC institution-feature gating (rbacEnabled = true) βΊ universal institution shows Groups, Centers and Collection Sheet β `1.5s`
- β
RBAC institution-feature gating (rbacEnabled = true) βΊ commercial bank (cb) hides all group-lending features β `1.4s`
- β
RBAC institution-feature gating (rbacEnabled = true) βΊ credit union (cu) shows Groups but hides Centers and Collection Sheet β `1.3s`
- β
rbacEnabled = false βΊ restores the pre-RBAC behaviour of showing everything β `1.5s`
- β
deployment navigation overrides βΊ removes the entries the deployment names by id, leaving the rest alone β `1.3s`
- β
deployment navigation overrides βΊ ignores a labelKey where an id is required β `1.8s`
- β
deployment navigation overrides βΊ removes them even where RBAC is off β `1.3s`
**`rbac-route-protection.spec.ts`**
- β
route authorization βΊ a superuser reaches every sampled route and sees the full navigation β `10.5s`
- β
route authorization βΊ a single-module user is confined to that module β `7.7s`
- β
route authorization βΊ a read-only user gets the lists and not the forms β `9.3s`
- β
route authorization βΊ a user with an empty permission list is refused everywhere and the app still works β `7.8s`
- β
route authorization βΊ a session carrying no permissions field is treated as carrying none β `4.3s`
- β
route authorization βΊ an unrecognised permission code grants nothing β `4.5s`
- β
route authorization βΊ an unauthenticated visitor is asked to sign in, not told they are forbidden β `4.9s`
- β
route authorization βΊ a deployment with RBAC turned off behaves as it did before the guard β `6.2s`
- β
the Access Denied page βΊ says what happened, under a single heading β `2.7s`
- β
the Access Denied page βΊ moves focus to the heading, since the user did not ask to come here β `3.2s`
- β
the Access Denied page βΊ announces itself politely β `2.9s`
- β
the Access Denied page βΊ names the permissions the screen wanted, so the user can ask for them β `2.9s`
- β
the Access Denied page βΊ offers a way back that the user is allowed to take β `3.0s`
- β
the Access Denied page βΊ is reachable by keyboard alone β `2.9s`
- β
permission feedback βΊ a visible nav entry says what the user can do in that module β `1.3s`
- β
permission feedback βΊ a nav entry carries no hint when there is nothing specific to say β `1.3s`
- β
navigation and routes agree βΊ a hidden menu entry is also refused by URL, and a shown one is not β `4.5s`
- β
navigation and routes agree βΊ the create button is withheld from a user whose create route would refuse them β `2.8s`
**`report-enhancements.spec.ts`**
- β
Report Enhancements, Pagination, and Help Tour βΊ should run report, show paginated data, and download CSV β `3.5s`
- β
Report Enhancements, Pagination, and Help Tour βΊ should trigger guidance help tour and navigate steps β `2.2s`
**`reporting.spec.ts`**
- β
Reporting βΊ should display list of reports β `1.5s`
- β
Reporting βΊ should navigate to run report page β `1.8s`
**`scheduler-jobs.spec.ts`**
- β
Scheduler Jobs bulk run βΊ Run Selected is disabled until a job is checked β `2.5s`
- β
Scheduler Jobs bulk run βΊ Select All checks every job, and running confirms then triggers each one β `2.8s`
- β
Scheduler Jobs bulk run βΊ declining the confirmation runs nothing β `3.0s`
**`sidebar-active-state.spec.ts`**
- β
Sidebar active route matching βΊ does not mark a parent sidebar link active on nested routes β `59.6s`
**`two-factor-authentication.spec.ts`**
- β
two-step verification βΊ asks for a code and lets the user in once it is accepted β `1.4s`
- β
two-step verification βΊ sends the token on every later request β `1.5s`
- β
two-step verification βΊ keeps the user on the step when the code is wrong, and says why β `1.2s`
- β
two-step verification βΊ accepts a correct code after a wrong one β `1.7s`
- β
two-step verification βΊ offers the choice when there is more than one channel β `1.2s`
- β
two-step verification βΊ says so when the account has no channel configured β `1.1s`
- β
two-step verification βΊ returns to the choice when the code could not be sent β `1.2s`
- β
two-step verification βΊ does not let a half-finished session reach the application β `2.7s`
- β
two-step verification βΊ backing out returns to the password form β `1.6s`
- β
two-step verification βΊ a deployment without a second factor signs in exactly as before β `1.4s`
**`working-capital-loan-actions.spec.ts`**
- β
Working Capital loan delinquency, breach and near-breach actions, and originators βΊ shows delinquency action history and submits a new one β `3.5s`
- β
Working Capital loan delinquency, breach and near-breach actions, and originators βΊ shows breach action history and submits a new one β `4.1s`
- β
Working Capital loan delinquency, breach and near-breach actions, and originators βΊ shows near-breach action history and submits a new one β `3.6s`
- β
Working Capital loan delinquency, breach and near-breach actions, and originators βΊ attaches and detaches a loan originator β `3.2s`
- β
Working Capital loan delinquency, breach and near-breach actions, and originators βΊ adds a new charge and waives an existing one β `3.5s`
- β
Working Capital loan delinquency, breach and near-breach actions, and originators βΊ shows rate-change history, amortization schedule, and delinquency range tags β `3.2s`
- β
Working Capital loan delinquency, breach and near-breach actions, and originators βΊ marks the loan as fraud, applies a discount, and changes the payment rate β `4.4s`
- β
Working Capital loan transactions, loss actions and modification βΊ credits the borrower through a goodwill credit β `3.1s`
- β
Working Capital loan transactions, loss actions and modification βΊ refunds a merchant payout β `3.1s`
- β
Working Capital loan transactions, loss actions and modification βΊ refunds a credit balance only on an overpaid loan β `3.0s`
- β
Working Capital loan transactions, loss actions and modification βΊ charges off an active loan β `2.9s`
- β
Working Capital loan transactions, loss actions and modification βΊ swaps charge-off for its undo once the loan is charged off β `2.6s`
- β
Working Capital loan transactions, loss actions and modification βΊ writes off an active loan β `2.9s`
- β
Working Capital loan transactions, loss actions and modification βΊ offers recovery and undo on a written-off loan, but not a second write-off β `2.5s`
- β
Working Capital loan transactions, loss actions and modification βΊ withholds undo write-off once a recovery has been collected β `2.6s`
- β
Working Capital loan transactions, loss actions and modification βΊ modifies a submitted application through the edit route β `3.5s`
- β
Working Capital loan transactions, loss actions and modification βΊ disables the actions a read-only role may not perform β `2.2s`
</details>
<details>
<summary><b>Slowest 10</b> β what the shard counts should be tuned against</summary>
| Test | Spec | Time |
| --- | --- | ---: |
| Sidebar active route matching βΊ does not mark a parent sidebar link active on nested routes | `sidebar-active-state.spec.ts` | 59.6s |
| Runtime accessibility βΊ banner and dashboard content have no blocking violations | `accessibility.spec.ts` | 14.7s |
| route authorization βΊ a superuser reaches every sampled route and sees the full navigation | `rbac-route-protection.spec.ts` | 10.5s |
| route authorization βΊ a read-only user gets the lists and not the forms | `rbac-route-protection.spec.ts` | 9.3s |
| route authorization βΊ a user with an empty permission list is refused everywhere and the app still works | `rbac-route-protection.spec.ts` | 7.8s |
| route authorization βΊ a single-module user is confined to that module | `rbac-route-protection.spec.ts` | 7.7s |
| terminates and undoes a progressive loan contract | `contract-termination.spec.ts` | 6.6s |
| Client form date pickers βΊ stay usable on a second visit to the create form | `client-date-picker-revisit.spec.ts` | 6.5s |
| route authorization βΊ a deployment with RBAC turned off behaves as it did before the guard | `rbac-route-protection.spec.ts` | 6.2s |
| Loan product down payment and tranches βΊ does not send income recognition on a cumulative product | `loan-product-down-payment.spec.ts` | 6.1s |
</details>
πΌ [Download the HTML report, videos and traces](https://github.com/apache/fineract-backoffice-ui/actions/runs/39133022694) β see the `playwright-report-mocked` artifact.
<sub>Generated by [run 39133022694](https://github.com/apache/fineract-backoffice-ui/actions/runs/39133022694) from `92fef99`. The run executed a fork branch, so treat its contents as unverified.</sub>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@fineract.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] fix(pagination): show exact server record totals by default [fineract-backoffice-ui]
Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #812:
URL: https://github.com/apache/fineract-backoffice-ui/pull/812#issuecomment-6251916453
<!-- e2e-report-backend -->
### E2E β real Fineract
## π E2E Tests
**β
All green** β 168 passed Β· 0 failed Β· 0 skipped Β· 1 flaky, across 48 spec files in 10m 57s.
### β οΈ Passed on retry
Green overall, but these needed more than one attempt β the shape a flake takes.
- **Accounting closures against Fineract βΊ a closed period reads as Closed, and the platform refuses a posting inside it** β `accounting-closure-backend.spec.ts` (1 retry/retries)
### By spec file
| Spec | β
| β | βοΈ | π | Time |
| --- | ---: | ---: | ---: | ---: | ---: |
| backend.setup.ts | 3 | 0 | 0 | 0 | 6.5s |
| accounting-closure-backend.spec.ts | 2 | 0 | 0 | 0 | 17.7s |
| batch-api-operations.spec.ts | 5 | 0 | 0 | 0 | 28.6s |
| center-servicing.spec.ts | 2 | 0 | 0 | 0 | 18.7s |
| charge-servicing-backend.spec.ts | 6 | 0 | 0 | 0 | 30.3s |
| client-legal-form-search.spec.ts | 1 | 0 | 0 | 0 | 5.2s |
| client-transfer.spec.ts | 4 | 0 | 0 | 0 | 51.4s |
| collection-sheet.spec.ts | 1 | 0 | 0 | 0 | 7.7s |
| deposit-account-servicing.spec.ts | 3 | 0 | 0 | 0 | 27.0s |
| deposit-lifecycle-backend.spec.ts | 4 | 0 | 0 | 0 | 25.8s |
| deposit-product-configuration.spec.ts | 3 | 0 | 0 | 0 | 18.8s |
| form-layout-reflow.spec.ts | 6 | 0 | 0 | 0 | 36.9s |
| group-membership.spec.ts | 3 | 0 | 0 | 0 | 50.3s |
| loan-account-actions.spec.ts | 3 | 0 | 0 | 0 | 26.4s |
| loan-approved-amount-revision.spec.ts | 3 | 0 | 0 | 0 | 22.2s |
| loan-charge-off.spec.ts | 2 | 0 | 0 | 0 | 22.0s |
| loan-flows-non-admin-roles.spec.ts | 8 | 0 | 0 | 0 | 1m 46s |
| loan-product-accounting.spec.ts | 1 | 0 | 0 | 0 | 33.3s |
| loan-repayment-gating.spec.ts | 2 | 0 | 0 | 0 | 9.8s |
| loan-servicing-rbac-backend.spec.ts | 4 | 0 | 0 | 0 | 11.2s |
| loan-servicing.spec.ts | 2 | 0 | 0 | 0 | 19.8s |
| login.spec.ts | 4 | 0 | 0 | 0 | 6.0s |
| oidc-login-backend.spec.ts | 2 | 0 | 0 | 0 | 4.5s |
| parity-screens.spec.ts | 8 | 0 | 0 | 0 | 44.0s |
| rbac-backend-restricted-user.spec.ts | 7 | 0 | 0 | 0 | 36.1s |
| rbac-dead-end-controls.spec.ts | 7 | 0 | 0 | 0 | 35.7s |
| rbac-disabled-flag-backend.spec.ts | 6 | 0 | 0 | 0 | 26.9s |
| rbac-multi-permission.spec.ts | 9 | 0 | 0 | 0 | 56.9s |
| rbac-office-scoped-user.spec.ts | 6 | 0 | 0 | 0 | 27.9s |
| bulk-import-entity-types.spec.ts | 1 | 0 | 0 | 0 | 10.4s |
| delinquency-configuration.spec.ts | 2 | 0 | 0 | 0 | 20.2s |
| full-demo.spec.ts | 1 | 0 | 0 | 0 | 1m 2s |
| interest-rate-charts.spec.ts | 1 | 0 | 0 | 0 | 8.6s |
| loan-lifecycle.spec.ts | 4 | 0 | 0 | 0 | 2m 1s |
| loan-schedule-type.spec.ts | 3 | 0 | 0 | 0 | 35.1s |
| rbac-permissionless-user.spec.ts | 4 | 0 | 0 | 0 | 21.4s |
| report-mailing-job.spec.ts | 3 | 0 | 0 | 0 | 19.3s |
| report-parameter-backend.spec.ts | 4 | 0 | 0 | 0 | 21.6s |
| savings-flows-non-admin-roles.spec.ts | 7 | 0 | 0 | 0 | 1m 34s |
| savings-transaction-correction.spec.ts | 1 | 0 | 0 | 0 | 6.4s |
| savings-transaction-gating.spec.ts | 2 | 0 | 0 | 0 | 6.3s |
| share-account-servicing.spec.ts | 2 | 0 | 0 | 0 | 19.3s |
| share-product-accounting.spec.ts | 1 | 0 | 0 | 0 | 24.6s |
| teller-cash-management.spec.ts | 2 | 0 | 0 | 0 | 37.8s |
| working-capital-loan-actions-backend.spec.ts | 3 | 0 | 0 | 0 | 21.6s |
| working-capital-product-accounting-backend.spec.ts | 2 | 0 | 0 | 0 | 22.2s |
| working-capital-rbac-backend.spec.ts | 2 | 0 | 0 | 0 | 7.8s |
| working-capital-servicing-backend.spec.ts | 6 | 0 | 0 | 0 | 36.5s |
<details>
<summary><b>All 168 tests</b> β click to expand</summary>
**`backend.setup.ts`**
- β
seed backend reference data β `2.3s`
- β
seed backend reference data β `2.0s`
- β
seed backend reference data β `2.2s`
**`accounting-closure-backend.spec.ts`**
- β
Accounting closures against Fineract βΊ a closed period reads as Closed, and the platform refuses a posting inside it β `11.9s` _(retried 1Γ)_
- β
Accounting closures against Fineract βΊ the form keeps the user on the page and names the reason when Fineract refuses β `5.8s`
**`batch-api-operations.spec.ts`**
- β
Batch API Operations against Fineract βΊ runs the sample batch scenario β create client, create loan, add and read back a charge β `6.5s`
- β
Batch API Operations against Fineract βΊ shows a parse error instead of submitting when the batch input is not valid JSON β `6.4s`
- β
Batch API enclosingTransaction semantics against Fineract βΊ rolls back the earlier steps when enclosingTransaction is true and a later step fails β `5.1s`
- β
Batch API enclosingTransaction semantics against Fineract βΊ does not roll back the earlier steps when enclosingTransaction is false and a later step fails β `5.4s`
- β
Batch API Operations on a mobile viewport against Fineract βΊ the sample batch scenario is reachable and works by touch at mobile width β `5.3s`
**`center-servicing.spec.ts`**
- β
Center servicing βΊ a center is activated, staffed and given a group β `12.6s`
- β
Center servicing βΊ notes are recorded against the center β `6.2s`
**`charge-servicing-backend.spec.ts`**
- β
loan charge servicing βΊ waives a loan charge, and the platform records the waiver β `6.0s`
- β
loan charge servicing βΊ cannot reverse a waiver: the platform answers 500, not a business rule β `704ms`
- β
loan charge servicing βΊ offers no Pay on a charge the platform will not let be paid β `5.8s`
- β
loan charge servicing βΊ adjusts a loan charge to a smaller amount β `6.1s`
- β
savings charge servicing βΊ pays a savings charge with the amount and due date the platform demands β `5.8s`
- β
savings charge servicing βΊ carries an active flag, which is what gates Inactivate β `6.0s`
**`client-legal-form-search.spec.ts`**
- β
Client list: legal form filtering βΊ an entity client appears in the main client list β `5.2s`
**`client-transfer.spec.ts`**
- β
Client transfer between offices βΊ a proposed transfer is held until the destination accepts, and then the client moves β `12.9s`
- β
Client transfer between offices βΊ a rejected transfer leaves the client on hold, and withdrawing is the way back β `14.1s`
- β
Client transfer between offices βΊ a client can be transferred in one step when the user may act for both offices β `11.7s`
- β
Client staff assignment βΊ an officer can be assigned and then removed β `12.8s`
**`collection-sheet.spec.ts`**
- β
Collection Sheet βΊ scopes staff to the office, sends the choice, and reports an empty sheet β `7.7s`
**`deposit-account-servicing.spec.ts`**
- β
Term deposit account servicing βΊ an account is approved, activated and closed before maturity β `11.8s`
- β
Term deposit account servicing βΊ a deposit is recorded, listed, and reversed without leaving the list β `9.1s`
- β
Term deposit account servicing βΊ an application can be rejected instead of approved β `6.1s`
**`deposit-lifecycle-backend.spec.ts`**
- β
fixed deposit products βΊ carry the rate the user typed, not a hidden default β `6.2s`
- β
an active fixed deposit account βΊ shows its balance and maturity figures β `5.8s`
- β
an active fixed deposit account βΊ can be closed into the client savings account β `7.3s`
- β
an active fixed deposit account βΊ can have a charge added to it β `6.6s`
**`deposit-product-configuration.spec.ts`**
- β
Deposit product configuration βΊ a fixed deposit product survives being edited β `6.0s`
- β
Deposit product configuration βΊ a recurring deposit product can be created at all β `6.0s`
- β
Deposit product configuration βΊ a savings product carries its accounting configuration β `6.8s`
**`form-layout-reflow.spec.ts`**
- β
form layout at the narrow viewport βΊ Create GL Account gives every field a usable width at 320px β `5.0s`
- β
form layout at the narrow viewport βΊ Create Loan gives every field a usable width at 320px β `5.6s`
- β
form layout at the narrow viewport βΊ Create Office gives every field a usable width at 320px β `5.9s`
- β
form layout at the narrow viewport βΊ Create Staff gives every field a usable width at 320px β `4.8s`
- β
form layout at the narrow viewport βΊ no page-level horizontal scroll at 320px β `10.1s`
- β
form layout at the wide viewport βΊ Create GL Account still uses more than one column at 1280px β `5.5s`
**`group-membership.spec.ts`**
- β
Group membership and lifecycle βΊ a group is activated, staffed, given members and a committee, then emptied β `20.8s`
- β
Group membership and lifecycle βΊ notes are recorded against the group and can be removed again β `8.9s`
- β
Group membership and lifecycle βΊ an empty group is closed with a reason, and a group with members is refused β `20.6s`
**`loan-account-actions.spec.ts`**
- β
Loan account lifecycle actions βΊ new action menu items appear only for active loans β `7.4s`
- β
Loan account lifecycle actions βΊ undo disbursal shows a confirm dialog and reverts the loan to Approved β `10.1s`
- β
Loan account lifecycle actions βΊ write off requires confirmation and moves the loan out of Active status β `8.9s`
**`loan-approved-amount-revision.spec.ts`**
- β
Loan approved and available-disbursement amount revision βΊ revises the approved amount on an active, partially-disbursed loan β `7.5s`
- β
Loan approved and available-disbursement amount revision βΊ revises the available disbursement amount, which also changes the approved amount β `7.8s`
- β
Loan approved and available-disbursement amount revision βΊ shows the platformβs own refusal, not a generic validation message β `6.9s`
**`loan-charge-off.spec.ts`**
- β
Loan servicing commands βΊ charges a loan off through the UI and reverses it β `11.2s`
- β
Loan servicing commands βΊ records a goodwill credit through the shared transaction form β `10.8s`
**`loan-flows-non-admin-roles.spec.ts`**
- β
a loan taken through four separated duties, every account built in the UI βΊ an administrator builds the four roles and accounts through the forms β `41.3s`
- β
a loan taken through four separated duties, every account built in the UI βΊ the officer books the application and is not offered approval of their own loan β `15.2s`
- β
a loan taken through four separated duties, every account built in the UI βΊ the approver, differing from the officer in one code, is offered it and approves β `5.5s`
- β
a loan taken through four separated duties, every account built in the UI βΊ the approver is not offered disbursement of the loan they just approved β `4.8s`
- β
a loan taken through four separated duties, every account built in the UI βΊ the disburser, holding only DISBURSE_LOAN, completes the payout end to end β `7.4s`
- β
a loan taken through four separated duties, every account built in the UI βΊ and the same route now refuses an UPDATE_LOAN holder, as the platform does β `7.1s`
- β
a loan taken through four separated duties, every account built in the UI βΊ a command with no mapped code is left to the platform rather than guessed at β `5.9s`
- β
a loan taken through four separated duties, every account built in the UI βΊ a repayment duty reaches its own form, and records a repayment β `19.0s`
**`loan-product-accounting.spec.ts`**
- β
Loan product accounting βΊ a cash-accounting product is configured, round-trips on edit, and posts to the ledger β `33.3s`
**`loan-repayment-gating.spec.ts`**
- β
Repayment is offered only where the platform allows it βΊ withheld on a loan awaiting approval, offered once it is active β `9.3s`
- β
Repayment is offered only where the platform allows it βΊ the platform refuses a repayment on a loan awaiting approval β `498ms`
**`loan-servicing-rbac-backend.spec.ts`**
- β
loan servicing and charge command permissions, on the platform βΊ each command is authorised by the code the UI declares for it β `5.4s`
- β
loan servicing and charge command permissions, on the platform βΊ no portfolio write code authorises any of its entity commands β `5.4s`
- β
loan servicing and charge command permissions, on the platform βΊ the deferred-income adjustments are not commands at loan level β `173ms`
- β
loan servicing and charge command permissions, on the platform βΊ the deferred-income adjustments are commands on one transaction β `172ms`
**`loan-servicing.spec.ts`**
- β
Loan servicing: notes and transaction adjustment βΊ notes can be added and removed, with a confirm dialog on delete β `8.7s`
- β
Loan servicing: notes and transaction adjustment βΊ a repayment transaction can be viewed and adjusted with a corrected amount β `11.1s`
**`login.spec.ts`**
- β
Login βΊ login page displays correctly β `1.4s`
- β
Login βΊ login form has required fields β `1.4s`
- β
Login βΊ submit button is disabled when form is empty β `1.5s`
- β
Login βΊ submit button is enabled when form is filled β `1.7s`
**`oidc-login-backend.spec.ts`**
- β
identity-provider route against a real Fineract βΊ is offered beside the password form, and pressing it sends nothing to Fineract β `1.7s`
- β
identity-provider route against a real Fineract βΊ a real password sign-in still gets a session with the route offered β `2.9s`
**`parity-screens.spec.ts`**
- β
Screens added for platform parity βΊ a manual journal entry can be read whole and reversed β `5.9s`
- β
Screens added for platform parity βΊ an entry that is already reversed is not offered again β `4.3s`
- β
Screens added for platform parity βΊ a report definition can be created, edited and deleted; a core one cannot β `5.4s`
- β
Screens added for platform parity βΊ a core report opens read-only with only its in-use setting β `5.0s`
- β
Screens added for platform parity βΊ a pending loan is approved from the queue, in a batch β `6.0s`
- β
Screens added for platform parity βΊ a fixed deposit is listed as a deposit, not as a savings account β `5.1s`
- β
Screens added for platform parity βΊ an office has a screen, and it carries its custom fields β `4.9s`
- β
Screens added for platform parity βΊ a savings account carries notes, and the note survives a reload β `7.2s`
**`rbac-backend-restricted-user.spec.ts`**
- β
a genuinely restricted Fineract user βΊ holds exactly the permissions their role was granted β `212ms`
- β
a genuinely restricted Fineract user βΊ reaches the screen their permission covers β `4.6s`
- β
a genuinely restricted Fineract user βΊ is refused a screen their permission does not cover, by URL and by the backend β `5.6s`
- β
a genuinely restricted Fineract user βΊ is refused a write screen they can read the list for, and the write itself β `6.8s`
- β
a genuinely restricted Fineract user βΊ is not offered the actions it would be refused for β `4.3s`
- β
a genuinely restricted Fineract user βΊ is shown an action it cannot take, disabled and saying what it needs β `5.8s`
- β
a genuinely restricted Fineract user βΊ the superuser the rest of the suite uses is unaffected β `9.0s`
**`rbac-dead-end-controls.spec.ts`**
- β
a client's account tables βΊ withhold the link, but not the number, from a user who cannot open the account β `4.9s`
- β
a client's account tables βΊ keep the link for a user who holds READ_LOAN β `6.0s`
- β
the office transactions list βΊ withholds Create from a reader, and the route refuses it too β `5.3s`
- β
the office transactions list βΊ offers Create to an administrator β `4.6s`
- β
the office transactions list βΊ refuses the list at the door for the code the platform does not check β `4.2s`
- β
a group's member list βΊ names the member without linking when the reader cannot open clients β `5.2s`
- β
a group's member list βΊ keeps the link for a reader who holds READ_CLIENT β `5.5s`
**`rbac-disabled-flag-backend.spec.ts`**
- β
rbacEnabled: false, with a user who holds only READ_CLIENT βΊ is shown the whole navigation, including modules their role does not cover β `3.8s`
- β
rbacEnabled: false, with a user who holds only READ_CLIENT βΊ is admitted by the route guard to a screen their role does not cover β `7.1s`
- β
rbacEnabled: false, with a user who holds only READ_CLIENT βΊ is still refused by Fineract, which the flag does not reach β `586ms`
- β
rbacEnabled: false, with a user who holds only READ_CLIENT βΊ is told the list is beyond their role, and not offered a retry that cannot succeed β `5.1s`
- β
rbacEnabled: false, with a user who holds only READ_CLIENT βΊ gets the same treatment on a second refused list, not a one-screen fix β `5.1s`
- β
rbacEnabled: false, with a user who holds only READ_CLIENT βΊ still loads the list their role does cover, with no failure state at all β `5.1s`
**`rbac-multi-permission.spec.ts`**
- β
a route declaring more than one permission code (OR semantics) βΊ is admitted by either declared code alone β `4.8s`
- β
a route declaring more than one permission code (OR semantics) βΊ is admitted by the other declared code alone β `4.9s`
- β
a route declaring more than one permission code (OR semantics) βΊ is refused when holding neither declared code, by the router and by the backend β `4.6s`
- β
ALL_FUNCTIONS_READ, against the real Fineract permission catalogue βΊ reaches read screens across modules it holds no specific code for β `8.9s`
- β
ALL_FUNCTIONS_READ, against the real Fineract permission catalogue βΊ is refused every write screen, and the writes themselves β `7.3s`
- β
a restricted session across a real page reload βΊ keeps the same permission boundary after reloading, not just after a fresh login β `9.7s`
- β
a second real action-level gate, distinct from loan repayment βΊ is shown the Approve action disabled and naming what it needs, refused by the backend too β `5.7s`
- β
Security module writes (users, roles), against the real backend βΊ reaches the list screens but is refused the write screens β `10.4s`
- β
Security module writes (users, roles), against the real backend βΊ is refused creating a user and modifying a role, by the backend itself β `392ms`
**`rbac-office-scoped-user.spec.ts`**
- β
an account scoped to a branch office βΊ differs from a head-office account in office alone, not in permissions β `423ms`
- β
an account scoped to a branch office βΊ is shown only its own office in the client list, and told which office it is in β `5.4s`
- β
an account scoped to a branch office βΊ sees a shorter list than an identically-permissioned head-office account β `5.0s`
- β
an account scoped to a branch office βΊ is refused another officeβs client by the platform, and told so once β `5.2s`
- β
an account scoped to a branch office βΊ can still open the record that is in its own office β `5.2s`
- β
an account scoped to a branch office βΊ is not offered an edit it would be refused for on the Offices screen β `6.5s`
**`bulk-import-entity-types.spec.ts`**
- β
every offered entity type is one the platform accepts β `10.4s`
**`delinquency-configuration.spec.ts`**
- β
creates a delinquency range, then edits it β `10.4s`
- β
creates a delinquency bucket from the ranges the template offers β `9.8s`
**`full-demo.spec.ts`**
- β
Full feature demo recording βΊ walk through loan schedule type, lifecycle, custom fields, collateral, and disbursement β `1m 2s`
**`interest-rate-charts.spec.ts`**
- β
lists charts without a server error β `8.6s`
**`loan-lifecycle.spec.ts`**
- β
Loan lifecycle: creation, approval, disbursement βΊ create, approve, and disburse a Cumulative loan β `30.4s`
- β
Loan lifecycle: creation, approval, disbursement βΊ create, approve, and disburse a Progressive loan β `32.8s`
- β
Loan lifecycle: creation, approval, disbursement βΊ an approved loan can be returned to pending approval β `29.9s`
- β
Loan lifecycle: creation, approval, disbursement βΊ the delinquency tab reads a real loan, and the empty data tabs stay hidden β `27.8s`
**`loan-schedule-type.spec.ts`**
- β
Loan Schedule Type (Cumulative vs Progressive) βΊ loan products list shows a schedule type chip per product β `9.4s`
- β
Loan Schedule Type (Cumulative vs Progressive) βΊ create a Progressive loan product end-to-end and verify it round-trips β `14.8s`
- β
Loan Schedule Type (Cumulative vs Progressive) βΊ loan creation shows the schedule type badge for a Progressive product β `10.9s`
**`rbac-permissionless-user.spec.ts`**
- β
an account whose role grants nothing βΊ is authenticated by Fineract and authorized by it for nothing β `801ms`
- β
an account whose role grants nothing βΊ is signed in and landed on a screen rather than stranded at the login form β `5.1s`
- β
an account whose role grants nothing βΊ is offered no permission-gated module, and refused each one by URL and by Fineract β `10.3s`
- β
an account whose role grants nothing βΊ is left a navigation whose entries actually work β `5.2s`
**`report-mailing-job.spec.ts`**
- β
report mailing job creation βΊ is no longer refused for a missing parameter β `6.0s`
- β
report mailing job creation βΊ the payload carries the locale and the schedule β `5.7s`
- β
report mailing job creation at the narrow viewport βΊ every field is reachable and the job still saves at 320px β `7.6s`
**`report-parameter-backend.spec.ts`**
- β
Dynamic report parameters against Fineract βΊ keeps the parameter form available when a report has cascading lookups β `4.2s`
- β
Dynamic report parameters against Fineract βΊ changing Office changes the Client Listing row set β `5.8s`
- β
Cascading report parameters against Fineract βΊ sends the parent value to the child lookup and clears the child when it changes β `7.3s`
- β
Chart reports against Fineract βΊ renders a chart report as a chart rather than a table β `4.3s`
**`savings-flows-non-admin-roles.spec.ts`**
- β
a savings account taken through four separated duties, every account built in the UI βΊ an administrator builds the five roles and accounts through the forms β `43.1s`
- β
a savings account taken through four separated duties, every account built in the UI βΊ the officer books the application and is not offered approval of it β `9.2s`
- β
a savings account taken through four separated duties, every account built in the UI βΊ the approver, differing in one code, is offered it and approves β `6.2s`
- β
a savings account taken through four separated duties, every account built in the UI βΊ the activator activates, and cannot take a deposit β `7.1s`
- β
a savings account taken through four separated duties, every account built in the UI βΊ the teller, holding only the transaction codes, records a deposit end to end β `5.5s`
- β
a savings account taken through four separated duties, every account built in the UI βΊ the cash-withdrawal control asks for the cash code, not the application one β `16.4s`
- β
a savings account taken through four separated duties, every account built in the UI βΊ the transaction route refuses an UPDATE_SAVINGSACCOUNT holder, as the platform does β `6.1s`
**`savings-transaction-correction.spec.ts`**
- β
Savings transaction correction βΊ a deposit is reversed and a hold is released β `6.4s`
**`savings-transaction-gating.spec.ts`**
- β
Savings transactions are offered only on an active account βΊ withheld while awaiting approval, offered once active β `6.0s`
- β
Savings transactions are offered only on an active account βΊ the platform refuses a deposit on an account awaiting approval β `217ms`
**`share-account-servicing.spec.ts`**
- β
Share account servicing βΊ an account is approved, activated, traded and closed β `13.3s`
- β
Share account servicing βΊ an application can be rejected β `6.0s`
**`share-product-accounting.spec.ts`**
- β
Share product accounting βΊ a share product is mapped to equity and round-trips on edit β `24.6s`
**`teller-cash-management.spec.ts`**
- β
Teller cash management βΊ a cashier is listed, receives an allocation, and settles cash back β `25.9s`
- β
Teller cash management βΊ settling more than the cashier holds is refused and the form stays usable β `11.9s`
**`working-capital-loan-actions-backend.spec.ts`**
- β
Working Capital loan actions, against a real Fineract βΊ charges off an active loan, and then offers only the undo β `7.7s`
- β
Working Capital loan actions, against a real Fineract βΊ credits the borrower with a goodwill credit, and the balance falls β `6.4s`
- β
Working Capital loan actions, against a real Fineract βΊ writes the loan off, which closes it and opens the recovery path β `7.5s`
**`working-capital-product-accounting-backend.spec.ts`**
- β
Working Capital product accounting, on the platform βΊ configures the accrual rule and its twelve accounts, and the platform accepts it β `16.7s`
- β
Working Capital product accounting, on the platform βΊ prefills a configured product and re-saves it without blanking anything β `5.6s`
**`working-capital-rbac-backend.spec.ts`**
- β
Working Capital command permissions, on the platform βΊ each command is authorised by the code the UI declares for it β `5.5s`
- β
Working Capital command permissions, on the platform βΊ UPDATE_WORKINGCAPITALLOAN authorises none of them β `2.3s`
**`working-capital-servicing-backend.spec.ts`**
- β
transaction corrections βΊ undoes a repayment, and the platform marks it reversed β `5.7s`
- β
transaction corrections βΊ offers no correction on the disbursement, which the platform refuses by type β `4.9s`
- β
transaction corrections βΊ adjusts a repayment, which reverses it and books the new amount β `5.2s`
- β
charge adjustment βΊ adjusts a charge, and the outstanding amount follows β `5.3s`
- β
custom datatables βΊ adds, edits and deletes a row of a multi-row table on the loan β `7.7s`
- β
custom datatables βΊ creates a loan that a create-time check would otherwise refuse β `7.7s`
</details>
<details>
<summary><b>Slowest 10</b> β what the shard counts should be tuned against</summary>
| Test | Spec | Time |
| --- | --- | ---: |
| Full feature demo recording βΊ walk through loan schedule type, lifecycle, custom fields, collateral, and disbursement | `full-demo.spec.ts` | 1m 2s |
| a savings account taken through four separated duties, every account built in the UI βΊ an administrator builds the five roles and accounts through the forms | `savings-flows-non-admin-roles.spec.ts` | 43.1s |
| a loan taken through four separated duties, every account built in the UI βΊ an administrator builds the four roles and accounts through the forms | `loan-flows-non-admin-roles.spec.ts` | 41.3s |
| Loan product accounting βΊ a cash-accounting product is configured, round-trips on edit, and posts to the ledger | `loan-product-accounting.spec.ts` | 33.3s |
| Loan lifecycle: creation, approval, disbursement βΊ create, approve, and disburse a Progressive loan | `loan-lifecycle.spec.ts` | 32.8s |
| Loan lifecycle: creation, approval, disbursement βΊ create, approve, and disburse a Cumulative loan | `loan-lifecycle.spec.ts` | 30.4s |
| Loan lifecycle: creation, approval, disbursement βΊ an approved loan can be returned to pending approval | `loan-lifecycle.spec.ts` | 29.9s |
| Loan lifecycle: creation, approval, disbursement βΊ the delinquency tab reads a real loan, and the empty data tabs stay hidden | `loan-lifecycle.spec.ts` | 27.8s |
| Teller cash management βΊ a cashier is listed, receives an allocation, and settles cash back | `teller-cash-management.spec.ts` | 25.9s |
| Share product accounting βΊ a share product is mapped to equity and round-trips on edit | `share-product-accounting.spec.ts` | 24.6s |
</details>
πΌ [Download the HTML report, videos and traces](https://github.com/apache/fineract-backoffice-ui/actions/runs/39133022694) β see the `playwright-report-backend` artifact.
<sub>Generated by [run 39133022694](https://github.com/apache/fineract-backoffice-ui/actions/runs/39133022694) from `92fef99`. The run executed a fork branch, so treat its contents as unverified.</sub>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@fineract.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] fix(pagination): show exact server record totals by default [fineract-backoffice-ui]
Posted by "Aman-Mittal (via GitHub)" <gi...@apache.org>.
Aman-Mittal merged PR #812:
URL: https://github.com/apache/fineract-backoffice-ui/pull/812
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@fineract.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org