You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@fineract.apache.org by "rk-roshan-kr (via GitHub)" <gi...@apache.org> on 2026/10/06 13:41:10 UTC
[PR] refactor(icon): inherit font-size and color for CSS styling (#569) [fineract-backoffice-ui]
rk-roshan-kr opened a new pull request, #717:
URL: https://github.com/apache/fineract-backoffice-ui/pull/717
## Description
Resolves #569.
Had a little free time today so tackled this styling improvement.
Sets color: inherit on IconComponent host styles alongside font-size: inherit. This allows consumer elements to style icons directly via Tailwind color utility classes (e.g. text-accent-red, text-primary) instead of relying on custom color properties or deep CSS selectors.
Also migrates access-denied.component.ts to use Tailwind color classes on <app-icon>, verifying clean migration.
## Testing
- Unit tests updated and verified in icon.component.test.ts.
--
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] refactor(icon): inherit font-size and color for CSS styling (#569) [fineract-backoffice-ui]
Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #717:
URL: https://github.com/apache/fineract-backoffice-ui/pull/717#issuecomment-6031148877
<!-- e2e-report-backend -->
### E2E β real Fineract
## π E2E Tests
**β
All green** β 141 passed Β· 0 failed Β· 0 skipped, across 41 spec files in 10m 10s.
### By spec file
| Spec | β
| β | βοΈ | π | Time |
| --- | ---: | ---: | ---: | ---: | ---: |
| backend.setup.ts | 3 | 0 | 0 | 0 | 5.8s |
| accounting-closure-backend.spec.ts | 2 | 0 | 0 | 0 | 10.6s |
| batch-api-operations.spec.ts | 5 | 0 | 0 | 0 | 20.2s |
| center-servicing.spec.ts | 2 | 0 | 0 | 0 | 14.6s |
| client-legal-form-search.spec.ts | 1 | 0 | 0 | 0 | 3.2s |
| client-transfer.spec.ts | 4 | 0 | 0 | 0 | 37.5s |
| collection-sheet.spec.ts | 1 | 0 | 0 | 0 | 5.2s |
| deposit-account-servicing.spec.ts | 3 | 0 | 0 | 0 | 22.1s |
| deposit-product-configuration.spec.ts | 3 | 0 | 0 | 0 | 11.9s |
| form-layout-reflow.spec.ts | 6 | 0 | 0 | 0 | 23.8s |
| group-membership.spec.ts | 3 | 0 | 0 | 0 | 40.9s |
| loan-account-actions.spec.ts | 3 | 0 | 0 | 0 | 17.1s |
| loan-approved-amount-revision.spec.ts | 3 | 0 | 0 | 0 | 14.5s |
| loan-charge-off.spec.ts | 2 | 0 | 0 | 0 | 14.6s |
| loan-flows-non-admin-roles.spec.ts | 8 | 0 | 0 | 0 | 1m 15s |
| loan-product-accounting.spec.ts | 1 | 0 | 0 | 0 | 33.1s |
| loan-repayment-gating.spec.ts | 2 | 0 | 0 | 0 | 9.8s |
| loan-servicing.spec.ts | 2 | 0 | 0 | 0 | 19.6s |
| login.spec.ts | 4 | 0 | 0 | 0 | 5.9s |
| oidc-login-backend.spec.ts | 2 | 0 | 0 | 0 | 5.1s |
| parity-screens.spec.ts | 8 | 0 | 0 | 0 | 44.0s |
| rbac-backend-restricted-user.spec.ts | 7 | 0 | 0 | 0 | 35.7s |
| rbac-dead-end-controls.spec.ts | 7 | 0 | 0 | 0 | 36.3s |
| rbac-disabled-flag-backend.spec.ts | 6 | 0 | 0 | 0 | 27.1s |
| rbac-multi-permission.spec.ts | 9 | 0 | 0 | 0 | 57.0s |
| bulk-import-entity-types.spec.ts | 1 | 0 | 0 | 0 | 10.8s |
| delinquency-configuration.spec.ts | 2 | 0 | 0 | 0 | 19.7s |
| full-demo.spec.ts | 1 | 0 | 0 | 0 | 1m 3s |
| interest-rate-charts.spec.ts | 1 | 0 | 0 | 0 | 9.0s |
| loan-lifecycle.spec.ts | 4 | 0 | 0 | 0 | 2m 3s |
| loan-schedule-type.spec.ts | 3 | 0 | 0 | 0 | 35.5s |
| rbac-office-scoped-user.spec.ts | 6 | 0 | 0 | 0 | 28.7s |
| rbac-permissionless-user.spec.ts | 4 | 0 | 0 | 0 | 21.8s |
| report-mailing-job.spec.ts | 3 | 0 | 0 | 0 | 18.9s |
| report-parameter-backend.spec.ts | 4 | 0 | 0 | 0 | 23.3s |
| savings-flows-non-admin-roles.spec.ts | 7 | 0 | 0 | 0 | 1m 37s |
| savings-transaction-correction.spec.ts | 1 | 0 | 0 | 0 | 6.8s |
| savings-transaction-gating.spec.ts | 2 | 0 | 0 | 0 | 6.4s |
| share-account-servicing.spec.ts | 2 | 0 | 0 | 0 | 18.9s |
| share-product-accounting.spec.ts | 1 | 0 | 0 | 0 | 25.5s |
| teller-cash-management.spec.ts | 2 | 0 | 0 | 0 | 37.8s |
<details>
<summary><b>All 141 tests</b> β click to expand</summary>
**`backend.setup.ts`**
- β
seed backend reference data β `1.5s`
- β
seed backend reference data β `2.2s`
- β
seed backend reference data β `2.1s`
**`accounting-closure-backend.spec.ts`**
- β
Accounting closures against Fineract βΊ a closed period reads as Closed, and the platform refuses a posting inside it β `5.6s`
- β
Accounting closures against Fineract βΊ the form keeps the user on the page and names the reason when Fineract refuses β `5.0s`
**`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 β `4.0s`
- β
Batch API Operations against Fineract βΊ shows a parse error instead of submitting when the batch input is not valid JSON β `5.4s`
- β
Batch API enclosingTransaction semantics against Fineract βΊ rolls back the earlier steps when enclosingTransaction is true and a later step fails β `3.6s`
- β
Batch API enclosingTransaction semantics against Fineract βΊ does not roll back the earlier steps when enclosingTransaction is false and a later step fails β `3.5s`
- β
Batch API Operations on a mobile viewport against Fineract βΊ the sample batch scenario is reachable and works by touch at mobile width β `3.7s`
**`center-servicing.spec.ts`**
- β
Center servicing βΊ a center is activated, staffed and given a group β `10.7s`
- β
Center servicing βΊ notes are recorded against the center β `4.0s`
**`client-legal-form-search.spec.ts`**
- β
Client list: legal form filtering βΊ an entity client appears in the main client list β `3.2s`
**`client-transfer.spec.ts`**
- β
Client transfer between offices βΊ a proposed transfer is held until the destination accepts, and then the client moves β `9.6s`
- β
Client transfer between offices βΊ a rejected transfer leaves the client on hold, and withdrawing is the way back β `10.4s`
- β
Client transfer between offices βΊ a client can be transferred in one step when the user may act for both offices β `8.1s`
- β
Client staff assignment βΊ an officer can be assigned and then removed β `9.5s`
**`collection-sheet.spec.ts`**
- β
Collection Sheet βΊ scopes staff to the office, sends the choice, and reports an empty sheet β `5.2s`
**`deposit-account-servicing.spec.ts`**
- β
Term deposit account servicing βΊ an account is approved, activated and closed before maturity β `9.5s`
- β
Term deposit account servicing βΊ a deposit is recorded, listed, and reversed without leaving the list β `8.0s`
- β
Term deposit account servicing βΊ an application can be rejected instead of approved β `4.7s`
**`deposit-product-configuration.spec.ts`**
- β
Deposit product configuration βΊ a fixed deposit product survives being edited β `4.0s`
- β
Deposit product configuration βΊ a recurring deposit product can be created at all β `3.4s`
- β
Deposit product configuration βΊ a savings product carries its accounting configuration β `4.5s`
**`form-layout-reflow.spec.ts`**
- β
form layout at the narrow viewport βΊ Create GL Account gives every field a usable width at 320px β `3.6s`
- β
form layout at the narrow viewport βΊ Create Loan gives every field a usable width at 320px β `4.0s`
- β
form layout at the narrow viewport βΊ Create Office gives every field a usable width at 320px β `3.1s`
- β
form layout at the narrow viewport βΊ Create Staff gives every field a usable width at 320px β `3.4s`
- β
form layout at the narrow viewport βΊ no page-level horizontal scroll at 320px β `6.4s`
- β
form layout at the wide viewport βΊ Create GL Account still uses more than one column at 1280px β `3.3s`
**`group-membership.spec.ts`**
- β
Group membership and lifecycle βΊ a group is activated, staffed, given members and a committee, then emptied β `17.5s`
- β
Group membership and lifecycle βΊ notes are recorded against the group and can be removed again β `6.4s`
- β
Group membership and lifecycle βΊ an empty group is closed with a reason, and a group with members is refused β `17.0s`
**`loan-account-actions.spec.ts`**
- β
Loan account lifecycle actions βΊ new action menu items appear only for active loans β `4.5s`
- β
Loan account lifecycle actions βΊ undo disbursal shows a confirm dialog and reverts the loan to Approved β `6.7s`
- β
Loan account lifecycle actions βΊ write off requires confirmation and moves the loan out of Active status β `5.9s`
**`loan-approved-amount-revision.spec.ts`**
- β
Loan approved and available-disbursement amount revision βΊ revises the approved amount on an active, partially-disbursed loan β `5.1s`
- β
Loan approved and available-disbursement amount revision βΊ revises the available disbursement amount, which also changes the approved amount β `5.0s`
- β
Loan approved and available-disbursement amount revision βΊ shows the platformβs own refusal, not a generic validation message β `4.4s`
**`loan-charge-off.spec.ts`**
- β
Loan servicing commands βΊ charges a loan off through the UI and reverses it β `7.8s`
- β
Loan servicing commands βΊ records a goodwill credit through the shared transaction form β `6.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 β `29.7s`
- β
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 β `11.6s`
- β
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 β `3.9s`
- β
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 β `3.4s`
- β
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 β `5.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 β `5.3s`
- β
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 β `4.0s`
- β
a loan taken through four separated duties, every account built in the UI βΊ a repayment duty reaches its own form, and records a repayment β `11.6s`
**`loan-product-accounting.spec.ts`**
- β
Loan product accounting βΊ a cash-accounting product is configured, round-trips on edit, and posts to the ledger β `33.1s`
**`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.4s`
- β
Repayment is offered only where the platform allows it βΊ the platform refuses a repayment on a loan awaiting approval β `416ms`
**`loan-servicing.spec.ts`**
- β
Loan servicing: notes and transaction adjustment βΊ notes can be added and removed, with a confirm dialog on delete β `8.9s`
- β
Loan servicing: notes and transaction adjustment βΊ a repayment transaction can be viewed and adjusted with a corrected amount β `10.7s`
**`login.spec.ts`**
- β
Login βΊ login page displays correctly β `1.4s`
- β
Login βΊ login form has required fields β `1.5s`
- β
Login βΊ submit button is disabled when form is empty β `1.4s`
- β
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.4s`
- β
identity-provider route against a real Fineract βΊ a real password sign-in still gets a session with the route offered β `3.7s`
**`parity-screens.spec.ts`**
- β
Screens added for platform parity βΊ a manual journal entry can be read whole and reversed β `5.5s`
- β
Screens added for platform parity βΊ an entry that is already reversed is not offered again β `4.5s`
- β
Screens added for platform parity βΊ a report definition can be created, edited and deleted; a core one cannot β `5.7s`
- β
Screens added for platform parity βΊ a core report opens read-only with only its in-use setting β `5.1s`
- β
Screens added for platform parity βΊ a pending loan is approved from the queue, in a batch β `5.7s`
- β
Screens added for platform parity βΊ a fixed deposit is listed as a deposit, not as a savings account β `5.2s`
- β
Screens added for platform parity βΊ an office has a screen, and it carries its custom fields β `4.6s`
- β
Screens added for platform parity βΊ a savings account carries notes, and the note survives a reload β `7.7s`
**`rbac-backend-restricted-user.spec.ts`**
- β
a genuinely restricted Fineract user βΊ holds exactly the permissions their role was granted β `261ms`
- β
a genuinely restricted Fineract user βΊ reaches the screen their permission covers β `4.9s`
- β
a genuinely restricted Fineract user βΊ is refused a screen their permission does not cover, by URL and by the backend β `4.7s`
- β
a genuinely restricted Fineract user βΊ is refused a write screen they can read the list for, and the write itself β `6.5s`
- β
a genuinely restricted Fineract user βΊ is not offered the actions it would be refused for β `3.9s`
- β
a genuinely restricted Fineract user βΊ is shown an action it cannot take, disabled and saying what it needs β `6.6s`
- β
a genuinely restricted Fineract user βΊ the superuser the rest of the suite uses is unaffected β `8.9s`
**`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 β `5.3s`
- β
a client's account tables βΊ keep the link for a user who holds READ_LOAN β `5.6s`
- β
the office transactions list βΊ withholds Create from a reader, and the route refuses it too β `6.0s`
- β
the office transactions list βΊ offers Create to an administrator β `4.7s`
- β
the office transactions list βΊ refuses the list at the door for the code the platform does not check β `4.6s`
- β
a group's member list βΊ names the member without linking when the reader cannot open clients β `5.1s`
- β
a group's member list βΊ keeps the link for a reader who holds READ_CLIENT β `5.1s`
**`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.5s`
- β
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.4s`
- β
rbacEnabled: false, with a user who holds only READ_CLIENT βΊ is still refused by Fineract, which the flag does not reach β `626ms`
- β
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.4s`
- β
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.0s`
- β
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.9s`
- β
a route declaring more than one permission code (OR semantics) βΊ is admitted by the other declared code alone β `4.8s`
- β
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.9s`
- β
ALL_FUNCTIONS_READ, against the real Fineract permission catalogue βΊ reaches read screens across modules it holds no specific code for β `9.0s`
- β
ALL_FUNCTIONS_READ, against the real Fineract permission catalogue βΊ is refused every write screen, and the writes themselves β `6.8s`
- β
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.8s`
- β
Security module writes (users, roles), against the real backend βΊ is refused creating a user and modifying a role, by the backend itself β `324ms`
**`bulk-import-entity-types.spec.ts`**
- β
every offered entity type is one the platform accepts β `10.8s`
**`delinquency-configuration.spec.ts`**
- β
creates a delinquency range, then edits it β `9.8s`
- β
creates a delinquency bucket from the ranges the template offers β `9.9s`
**`full-demo.spec.ts`**
- β
Full feature demo recording βΊ walk through loan schedule type, lifecycle, custom fields, collateral, and disbursement β `1m 3s`
**`interest-rate-charts.spec.ts`**
- β
lists charts without a server error β `9.0s`
**`loan-lifecycle.spec.ts`**
- β
Loan lifecycle: creation, approval, disbursement βΊ create, approve, and disburse a Cumulative loan β `31.9s`
- β
Loan lifecycle: creation, approval, disbursement βΊ create, approve, and disburse a Progressive loan β `33.0s`
- β
Loan lifecycle: creation, approval, disbursement βΊ an approved loan can be returned to pending approval β `30.5s`
- β
Loan lifecycle: creation, approval, disbursement βΊ the delinquency tab reads a real loan, and the empty data tabs stay hidden β `28.0s`
**`loan-schedule-type.spec.ts`**
- β
Loan Schedule Type (Cumulative vs Progressive) βΊ loan products list shows a schedule type chip per product β `9.8s`
- β
Loan Schedule Type (Cumulative vs Progressive) βΊ create a Progressive loan product end-to-end and verify it round-trips β `15.0s`
- β
Loan Schedule Type (Cumulative vs Progressive) βΊ loan creation shows the schedule type badge for a Progressive product β `10.8s`
**`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 β `440ms`
- β
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.1s`
- β
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.6s`
- β
an account scoped to a branch office βΊ is not offered an edit it would be refused for on the Offices screen β `6.9s`
**`rbac-permissionless-user.spec.ts`**
- β
an account whose role grants nothing βΊ is authenticated by Fineract and authorized by it for nothing β `781ms`
- β
an account whose role grants nothing βΊ is signed in and landed on a screen rather than stranded at the login form β `4.5s`
- β
an account whose role grants nothing βΊ is offered no permission-gated module, and refused each one by URL and by Fineract β `10.7s`
- β
an account whose role grants nothing βΊ is left a navigation whose entries actually work β `5.9s`
**`report-mailing-job.spec.ts`**
- β
report mailing job creation βΊ is no longer refused for a missing parameter β `5.5s`
- β
report mailing job creation βΊ the payload carries the locale and the schedule β `6.1s`
- β
report mailing job creation at the narrow viewport βΊ every field is reachable and the job still saves at 320px β `7.3s`
**`report-parameter-backend.spec.ts`**
- β
Dynamic report parameters against Fineract βΊ keeps the parameter form available when a report has cascading lookups β `4.8s`
- β
Dynamic report parameters against Fineract βΊ changing Office changes the Client Listing row set β `6.1s`
- β
Cascading report parameters against Fineract βΊ sends the parent value to the child lookup and clears the child when it changes β `7.4s`
- β
Chart reports against Fineract βΊ renders a chart report as a chart rather than a table β `5.0s`
**`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 β `44.5s`
- β
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 β `8.9s`
- β
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 β `7.0s`
- β
a savings account taken through four separated duties, every account built in the UI βΊ the activator activates, and cannot take a deposit β `7.3s`
- β
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 β `6.4s`
- β
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.0s`
- β
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.8s`
**`savings-transaction-correction.spec.ts`**
- β
Savings transaction correction βΊ a deposit is reversed and a hold is released β `6.8s`
**`savings-transaction-gating.spec.ts`**
- β
Savings transactions are offered only on an active account βΊ withheld while awaiting approval, offered once active β `6.2s`
- β
Savings transactions are offered only on an active account βΊ the platform refuses a deposit on an account awaiting approval β `237ms`
**`share-account-servicing.spec.ts`**
- β
Share account servicing βΊ an account is approved, activated, traded and closed β `12.5s`
- β
Share account servicing βΊ an application can be rejected β `6.4s`
**`share-product-accounting.spec.ts`**
- β
Share product accounting βΊ a share product is mapped to equity and round-trips on edit β `25.5s`
**`teller-cash-management.spec.ts`**
- β
Teller cash management βΊ a cashier is listed, receives an allocation, and settles cash back β `26.1s`
- β
Teller cash management βΊ settling more than the cashier holds is refused and the form stays usable β `11.8s`
</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 3s |
| 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` | 44.5s |
| Loan product accounting βΊ a cash-accounting product is configured, round-trips on edit, and posts to the ledger | `loan-product-accounting.spec.ts` | 33.1s |
| Loan lifecycle: creation, approval, disbursement βΊ create, approve, and disburse a Progressive loan | `loan-lifecycle.spec.ts` | 33.0s |
| Loan lifecycle: creation, approval, disbursement βΊ create, approve, and disburse a Cumulative loan | `loan-lifecycle.spec.ts` | 31.9s |
| Loan lifecycle: creation, approval, disbursement βΊ an approved loan can be returned to pending approval | `loan-lifecycle.spec.ts` | 30.5s |
| 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` | 29.7s |
| Loan lifecycle: creation, approval, disbursement βΊ the delinquency tab reads a real loan, and the empty data tabs stay hidden | `loan-lifecycle.spec.ts` | 28.0s |
| Teller cash management βΊ a cashier is listed, receives an allocation, and settles cash back | `teller-cash-management.spec.ts` | 26.1s |
| Share product accounting βΊ a share product is mapped to equity and round-trips on edit | `share-product-accounting.spec.ts` | 25.5s |
</details>
πΌ [Download the HTML report, videos and traces](https://github.com/apache/fineract-backoffice-ui/actions/runs/37472760654) β see the `playwright-report-backend` artifact.
<sub>Generated by [run 37472760654](https://github.com/apache/fineract-backoffice-ui/actions/runs/37472760654) from `f2a6f27`. 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] refactor(icon): inherit font-size and color for CSS styling (#569) [fineract-backoffice-ui]
Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #717:
URL: https://github.com/apache/fineract-backoffice-ui/pull/717#issuecomment-6031054302
<!-- pr-sequence-diagram -->
### π What this change talks to
Analysed 2 changed TypeScript file(s) and found no injected dependencies being called. That is a normal result for a change to templates, types, or pure functions.
<sub>Generated by [run 37472760926](https://github.com/apache/fineract-backoffice-ui/actions/runs/37472760926) from `f2a6f27`. 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] refactor(icon): inherit font-size and color for CSS styling (#569) [fineract-backoffice-ui]
Posted by "Aman-Mittal (via GitHub)" <gi...@apache.org>.
Aman-Mittal merged PR #717:
URL: https://github.com/apache/fineract-backoffice-ui/pull/717
--
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] refactor(icon): inherit font-size and color for CSS styling (#569) [fineract-backoffice-ui]
Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #717:
URL: https://github.com/apache/fineract-backoffice-ui/pull/717#issuecomment-6031148767
<!-- e2e-report-mocked -->
### E2E β mocked backend
## π E2E Tests
**β
All green** β 411 passed Β· 0 failed Β· 1 skipped, across 39 spec files in 5m 9s.
### By spec file
| Spec | β
| β | βοΈ | π | Time |
| --- | ---: | ---: | ---: | ---: | ---: |
| accessibility.spec.ts | 5 | 0 | 0 | 0 | 28.4s |
| all-functions-read-shortcut.spec.ts | 5 | 0 | 0 | 0 | 8.1s |
| branded-deployment.spec.ts | 9 | 0 | 0 | 0 | 14.7s |
| breadcrumb.spec.ts | 2 | 0 | 0 | 0 | 4.9s |
| client-date-picker-revisit.spec.ts | 1 | 0 | 0 | 0 | 5.1s |
| client-servicing-gaps.spec.ts | 14 | 0 | 0 | 0 | 50.2s |
| client.spec.ts | 1 | 0 | 0 | 0 | 3.1s |
| collateral-currency-search.spec.ts | 5 | 0 | 0 | 0 | 13.9s |
| date-picker-revisit.spec.ts | 6 | 0 | 0 | 0 | 19.8s |
| deployment-customization.spec.ts | 19 | 0 | 0 | 0 | 28.6s |
| deposit-product-edit.spec.ts | 2 | 0 | 0 | 0 | 5.5s |
| e2e-journey.spec.ts | 81 | 0 | 0 | 0 | 2m 17s |
| feature-coverage.spec.ts | 49 | 0 | 0 | 0 | 1m 18s |
| functional-coverage.spec.ts | 42 | 0 | 0 | 0 | 1m 32s |
| global-search-nav-shortcuts.spec.ts | 4 | 0 | 0 | 0 | 9.2s |
| global-search-navigation.spec.ts | 8 | 0 | 0 | 0 | 17.5s |
| group-detail.spec.ts | 8 | 0 | 0 | 0 | 25.7s |
| guidance-tour.spec.ts | 5 | 0 | 1 | 0 | 10.4s |
| keyboard-shortcuts.spec.ts | 5 | 0 | 0 | 0 | 8.0s |
| list-load-failure.spec.ts | 5 | 0 | 0 | 0 | 13.6s |
| list-pagination.spec.ts | 13 | 0 | 0 | 0 | 40.8s |
| loan-delinquency-actions.spec.ts | 11 | 0 | 0 | 0 | 35.6s |
| loan-portfolio-summary.spec.ts | 4 | 0 | 0 | 0 | 11.5s |
| loan-product-down-payment.spec.ts | 13 | 0 | 0 | 0 | 42.7s |
| charge-refund.spec.ts | 1 | 0 | 0 | 0 | 4.8s |
| client-empty-account-cta.spec.ts | 1 | 0 | 0 | 0 | 4.2s |
| client-load-error.spec.ts | 2 | 0 | 0 | 0 | 5.4s |
| contract-termination.spec.ts | 1 | 0 | 0 | 0 | 6.7s |
| loan-schedule-type-gating.spec.ts | 6 | 0 | 0 | 0 | 14.8s |
| loan-servicing-gaps.spec.ts | 18 | 0 | 0 | 0 | 50.4s |
| 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.2s |
| rbac-route-protection.spec.ts | 18 | 0 | 0 | 0 | 1m 22s |
| report-enhancements.spec.ts | 2 | 0 | 0 | 0 | 6.2s |
| reporting.spec.ts | 2 | 0 | 0 | 0 | 3.1s |
| scheduler-jobs.spec.ts | 3 | 0 | 0 | 0 | 8.3s |
| two-factor-authentication.spec.ts | 10 | 0 | 0 | 0 | 14.3s |
| working-capital-loan-actions.spec.ts | 7 | 0 | 0 | 0 | 24.7s |
<details>
<summary><b>All 412 tests</b> β click to expand</summary>
**`accessibility.spec.ts`**
- β
Runtime accessibility βΊ client list has no blocking violations β `3.9s`
- β
Runtime accessibility βΊ client list links meet color contrast in dark mode β `2.9s`
- β
Runtime accessibility βΊ client form has no blocking violations β `3.9s`
- β
Runtime accessibility βΊ banner and dashboard content have no blocking violations β `14.3s`
- β
Runtime accessibility βΊ create office dialog has no blocking violations β `3.4s`
**`all-functions-read-shortcut.spec.ts`**
- β
ALL_FUNCTIONS_READ shortcut βΊ grants read access to the Clients list without any explicit READ_CLIENT permission β `2.1s`
- β
ALL_FUNCTIONS_READ shortcut βΊ does not grant the Create Client action β `1.5s`
- β
ALL_FUNCTIONS_READ shortcut βΊ does not grant Create Client even combined with an explicit READ_CLIENT permission β `1.6s`
- β
ALL_FUNCTIONS_READ shortcut βΊ a user with the real CREATE_CLIENT permission still sees the button β `1.4s`
- β
ALL_FUNCTIONS_READ shortcut βΊ ALL_FUNCTIONS (full superuser) still sees the Create Client button β `1.5s`
**`branded-deployment.spec.ts`**
- β
a fully branded deployment βΊ wears the institutionβs name and mark, not Fineractβs β `2.0s`
- β
a fully branded deployment βΊ carries the institutionβs palette into its own chrome and into Ionic β `1.9s`
- β
a fully branded deployment βΊ drops the sections the institution does not run β `1.3s`
- β
a fully branded deployment βΊ renames and reorders entries to the institutionβs vocabulary β `1.4s`
- β
a fully branded deployment βΊ offers the institutionβs own systems beside Fineractβs screens β `1.4s`
- β
a fully branded deployment βΊ restates the labels the institution words differently β `1.6s`
- β
a fully branded deployment βΊ keeps a readable palette in dark mode, with a label colour to match β `1.4s`
- β
a fully branded deployment βΊ does not leak a light colour into the dark palette β `1.4s`
- β
a fully branded deployment βΊ reports no configuration defects for the published example β `2.4s`
**`breadcrumb.spec.ts`**
- β
a single-crumb page shows no breadcrumb trail β `1.8s`
- β
a nested page shows a trail, and the ancestor crumb navigates back β `3.1s`
**`client-date-picker-revisit.spec.ts`**
- β
Client form date pickers βΊ stay usable on a second visit to the create form β `5.1s`
**`client-servicing-gaps.spec.ts`**
- β
Client transfers βΊ proposing a transfer sends the destination, the date and the format that parses it β `4.8s`
- β
Client transfers βΊ a one-step transfer omits the date the platform refuses β `3.9s`
- β
Client transfers βΊ the clientβs own office is not offered as a destination β `3.5s`
- β
Client transfers βΊ accepting a transfer sends a note and nothing else β `3.8s`
- β
Client transfers βΊ accepting with no note sends an empty body β `3.7s`
- β
Client transfers βΊ rejecting a transfer is offered while one is pending β `3.7s`
- β
Client transfers βΊ withdrawing is offered from on hold, which is the only way back β `3.1s`
- β
Client transfers βΊ answers to a transfer are not offered when none is pending β `2.6s`
- β
Client staff and default savings account βΊ assigning a member of staff sends the staff id β `4.1s`
- β
Client staff and default savings account βΊ unassigning echoes the current holder back, which the platform requires β `3.9s`
- β
Client staff and default savings account βΊ unassigning is not offered when nobody is assigned β `2.9s`
- β
Client staff and default savings account βΊ the assigned officer is shown on the header β `2.4s`
- β
Client staff and default savings account βΊ setting the default savings account sends the account id β `4.4s`
- β
Undoing a rejection βΊ posts the command name the platform recognises, not the menu identifier β `3.4s`
**`client.spec.ts`**
- β
Client Management βΊ should create a new client β `3.1s`
**`collateral-currency-search.spec.ts`**
- β
Collateral product currency β searchable select (#β626) βΊ the field is closed with no option list until it is opened β `2.5s`
- β
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 β `2.5s`
- β
Collateral product currency β searchable select (#β626) βΊ shows a "no results" message rather than an empty panel β `2.5s`
- β
Collateral product currency β searchable select (#β626) βΊ Cancel closes the picker without changing the selection β `3.0s`
**`date-picker-revisit.spec.ts`**
- β
Date pickers on revisited forms βΊ office form keeps its pickers usable on every visit β `3.1s`
- β
Date pickers on revisited forms βΊ staff form keeps its pickers usable on every visit β `3.1s`
- β
Date pickers on revisited forms βΊ holiday form keeps its pickers usable on every visit β `3.6s`
- β
Date pickers on revisited forms βΊ teller form keeps its pickers usable on every visit β `3.0s`
- β
Date pickers on revisited forms βΊ accounting closure form keeps its pickers usable on every visit β `3.2s`
- β
Date pickers on revisited forms βΊ floating rate form keeps its pickers usable on every visit β `3.8s`
**`deployment-customization.spec.ts`**
- β
with no overlay mounted βΊ boots, keeps the shipped branding, and shows the full menu β `1.3s`
- β
with no overlay mounted βΊ does not ask for an overlay this deployment has not declared β `1.3s`
- β
with no overlay mounted βΊ logs no federation parse error on load β `1.3s`
- β
branding βΊ applies colour and density tokens to the document β `1.3s`
- β
branding βΊ recolours Ionic through the same tokens β `1.8s`
- β
branding βΊ renames the product in the header and the tab title β `2.4s`
- β
branding βΊ serves the deployment logo and names it after the deployment β `1.3s`
- β
branding βΊ refuses a fill that cannot carry the white text baked into the stylesheet β `1.3s`
- β
branding βΊ accepts a light accent and derives a dark label for it β `1.8s`
- β
branding βΊ ignores a token outside the published allow-list, and says so β `1.3s`
- β
navigation βΊ hides an entry named by its id β `1.4s`
- β
navigation βΊ does not hide an entry named by its labelKey β `1.3s`
- β
navigation βΊ renames and reorders entries β `1.4s`
- β
navigation βΊ adds an external entry that opens in a new tab β `1.6s`
- β
navigation βΊ nests an added entry under an existing group β `1.4s`
- β
navigation βΊ gates an added entry on permissions like any built-in one β `1.4s`
- β
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 β `1.4s`
- β
layering βΊ a malformed overlay leaves the application usable β `1.5s`
**`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 β `2.5s`
- β
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.0s`
**`e2e-journey.spec.ts`**
- β
E2E: Login Flow βΊ should display login page with all required fields β `1.4s`
- β
E2E: Login Flow βΊ should have Sign In button disabled when fields are empty β `1.2s`
- β
E2E: Login Flow βΊ should enable Sign In when credentials are entered β `1.1s`
- β
E2E: Login Flow βΊ should redirect to dashboard after successful login β `1.4s`
- β
E2E: Login Flow βΊ should display language selector on login page β `1.2s`
- β
E2E: Login Flow βΊ should display API endpoint selector with value β `1.3s`
- β
E2E: Dashboard βΊ should display dashboard summary cards β `1.3s`
- β
E2E: Dashboard βΊ should display system health as Online β `1.4s`
- β
E2E: Dashboard βΊ should display pending approvals section β `1.3s`
- β
E2E: Dashboard βΊ should display loan and savings status distribution charts β `1.4s`
- β
E2E: Dashboard βΊ should display system operational status β `2.0s`
- β
E2E: Dashboard βΊ should have header with business date, render time, and logout β `1.4s`
- β
E2E: Dashboard βΊ should have sidebar toggle button β `1.4s`
- β
E2E: Dashboard βΊ should have global search bar in header β `1.3s`
- β
E2E: Dashboard βΊ should have Guide button in header β `1.7s`
- β
E2E: Dashboard βΊ should have dark mode toggle button β `1.8s`
- β
E2E: Sidebar Navigation βΊ should have all main navigation links β `1.8s`
- β
E2E: Sidebar Navigation βΊ should have Products section with sub-links β `1.4s`
- β
E2E: Sidebar Navigation βΊ should have Transfers section with sub-links β `1.4s`
- β
E2E: Sidebar Navigation βΊ should have Accounting section with sub-links β `1.4s`
- β
E2E: Sidebar Navigation βΊ should have Security section β `1.6s`
- β
E2E: Sidebar Navigation βΊ should have Settings section β `1.4s`
- β
E2E: Sidebar Navigation βΊ should have Organization section β `1.4s`
- β
E2E: Sidebar Navigation βΊ should have System section β `1.4s`
- β
E2E: Sidebar Navigation βΊ should navigate to all major pages via sidebar β `2.9s`
- β
E2E: Offices βΊ should display offices list with table β `2.2s`
- β
E2E: Offices βΊ should have Create Office button β `1.6s`
- β
E2E: Offices βΊ should navigate to office create form β `1.7s`
- β
E2E: Offices βΊ should validate office create form - save disabled when empty β `1.7s`
- β
E2E: Offices βΊ should fill office create form and enable save β `2.4s`
- β
E2E: Offices βΊ should cancel office creation and return to list β `2.5s`
- β
E2E: Offices βΊ should have search input on offices page β `1.5s`
- β
E2E: Offices βΊ should show edit button for each office β `1.7s`
- β
E2E: Offices βΊ should have pagination controls β `1.5s`
- β
E2E: Clients βΊ should display clients list page β `1.6s`
- β
E2E: Clients βΊ should display client data in table β `1.6s`
- β
E2E: Clients βΊ should show ACTIVE status badge β `1.5s`
- β
E2E: Clients βΊ should have Create Client button β `1.4s`
- β
E2E: Clients βΊ should show empty state when no clients exist β `1.5s`
- β
E2E: Clients βΊ should have search input and status filter β `1.7s`
- β
E2E: Clients βΊ should have pagination controls β `1.5s`
- β
E2E: Client Creation βΊ should navigate to client create form β `1.7s`
- β
E2E: Client Creation βΊ should display all required client form fields, across the wizard steps β `2.4s`
- β
E2E: Client Creation βΊ should display optional client form fields, across the wizard steps β `2.3s`
- β
E2E: Client Creation βΊ should have Next disabled until the current step is valid β `2.2s`
- β
E2E: Client Creation βΊ should populate office dropdown from API β `2.0s`
- β
E2E: Client Creation βΊ should fill client form and enable save on the last step β `2.9s`
- β
E2E: Client Creation βΊ should submit client and redirect to clients list β `3.0s`
- β
E2E: Client Creation βΊ should cancel client creation and return to clients list β `1.8s`
- β
E2E: Client Creation βΊ should have add office quick-action button β `1.9s`
- β
E2E: Client Creation βΊ should have help icons for form fields β `1.7s`
- β
E2E: Client Creation βΊ should have calendar buttons for date fields β `2.9s`
- β
E2E: Client Creation βΊ should have pre-filled dates in Submitted On and Activation Date β `2.3s`
- β
E2E: Client Creation βΊ should have Active checkbox checked by default β `1.7s`
- β
E2E: Client Creation βΊ should handle Entity legal form showing fullname field β `2.9s`
- β
E2E: Loan Products Page βΊ should display loan products list page β `1.6s`
- β
E2E: Loan Products Page βΊ should have Create Loan Product button β `1.5s`
- β
E2E: Loan Products Page βΊ should display table with correct headers β `2.2s`
- β
E2E: Loan Products Page βΊ should show empty state when no products exist β `1.6s`
- β
E2E: Loan Products Page βΊ should have search input β `1.5s`
- β
E2E: Loan Products Page βΊ should navigate to loan product create form β `1.8s`
- β
E2E: Savings Products Page βΊ should display savings products list page β `1.5s`
- β
E2E: Other Products Pages βΊ Fixed Deposit Products page loads β `1.6s`
- β
E2E: Other Products Pages βΊ Recurring Deposit Products page loads β `2.0s`
- β
E2E: Other Products Pages βΊ Share Products page loads β `1.5s`
- β
E2E: Other Products Pages βΊ Tax Components page loads β `1.5s`
- β
E2E: Other Products Pages βΊ Tax Groups page loads β `1.6s`
- β
E2E: Other Products Pages βΊ Floating Rates page loads β `1.5s`
- β
E2E: Loans Portfolio βΊ should display loans portfolio page β `1.5s`
- β
E2E: Loans Portfolio βΊ should have Create Loan Account button β `2.1s`
- β
E2E: Loans Portfolio βΊ should display table with correct headers β `1.5s`
- β
E2E: Loans Portfolio βΊ should show empty state when no loans exist β `1.5s`
- β
E2E: Loans Portfolio βΊ should have search input β `1.6s`
- β
E2E: Loans Portfolio βΊ should have pagination controls β `1.6s`
- β
E2E: Header & Global Elements βΊ should display Fineract logo and title in header β `1.3s`
- β
E2E: Header & Global Elements βΊ should display logged-in username β `1.8s`
- β
E2E: Header & Global Elements βΊ should display office name for user β `1.3s`
- β
E2E: Header & Global Elements βΊ should have Logout button β `1.3s`
- β
E2E: Header & Global Elements βΊ should have language selector in header β `1.3s`
- β
E2E: Header & Global Elements βΊ should display render time β `1.4s`
- β
E2E: Header & Global Elements βΊ should display business date β `1.4s`
**`feature-coverage.spec.ts`**
- β
Navigation & Sidebar βΊ all main navigation links are visible in sidebar β `1.8s`
- β
Navigation & Sidebar βΊ sidebar navigation routes to correct pages β `2.5s`
- β
Navigation & Sidebar βΊ navigating to /accounting redirects to /accounting/chart-of-accounts β `2.2s`
- β
Navigation & Sidebar βΊ navigating to /organization redirects to /organization/offices β `2.3s`
- β
Navigation & Sidebar βΊ navigating to /system redirects to /system/data-tables β `2.4s`
- β
Navigation & Sidebar βΊ an unknown route keeps its URL and offers recovery actions β `2.5s`
- β
Navigation & Sidebar βΊ header shows logged-in user info β `1.3s`
- β
Navigation & Sidebar βΊ help tour button is visible and interactive β `1.3s`
- β
Navigation & Sidebar βΊ logout button is visible β `1.4s`
- β
Navigation & Sidebar βΊ language selector is present β `1.3s`
- β
Dashboard βΊ dashboard shows key metrics cards β `1.4s`
- β
Dashboard βΊ dashboard shows pending approvals section β `1.2s`
- β
Dashboard βΊ dashboard shows loan and savings status distribution β `1.3s`
- β
Dashboard βΊ dashboard shows system operational status β `1.4s`
- β
Groups βΊ groups page renders with title β `1.6s`
- β
Groups βΊ groups page has create button β `1.4s`
- β
Centers βΊ centers page renders with title β `1.4s`
- β
Centers βΊ centers page has create button β `1.4s`
- β
Organization βΊ offices page loads with list β `1.5s`
- β
Organization βΊ staff page loads β `1.5s`
- β
Organization βΊ funds page loads β `1.6s`
- β
Organization βΊ payment types page loads β `1.5s`
- β
Accounting βΊ chart of accounts loads β `1.4s`
- β
Accounting βΊ journal entries page loads β `1.6s`
- β
Accounting βΊ accounting closures loads β `1.4s`
- β
Accounting βΊ accounting rules loads β `1.5s`
- β
Accounting βΊ financial activity mappings loads β `2.0s`
- β
Accounting βΊ charges page loads β `1.6s`
- β
Security βΊ users page loads β `1.5s`
- β
Security βΊ roles page loads β `1.4s`
- β
Security βΊ audit logs page loads β `1.6s`
- β
Security βΊ leftover audit trails path lands on audits, not the dashboard β `2.5s`
- β
Products - Loan & Savings βΊ loan products page loads β `1.5s`
- β
Products - Loan & Savings βΊ savings products page loads β `1.4s`
- β
Products - Loan & Savings βΊ tax components page loads β `1.4s`
- β
Products - Loan & Savings βΊ tax groups page loads β `1.5s`
- β
Products - Loan & Savings βΊ floating rates page loads β `1.4s`
- β
Products - Loan & Savings βΊ savings accounts page loads β `1.6s`
- β
Settings βΊ global configurations page loads β `1.4s`
- β
Settings βΊ holidays page loads β `1.5s`
- β
Settings βΊ working days page loads β `1.5s`
- β
System βΊ data tables page loads β `1.5s`
- β
System βΊ bulk import page loads β `1.4s`
- β
System βΊ delinquency page loads β `1.5s`
- β
Tellers βΊ tellers page loads with create button β `1.5s`
- β
Transfers βΊ account transfer page loads β `1.6s`
- β
Transfers βΊ standing instructions page loads β `1.4s`
- β
Transfers βΊ SI history page loads β `1.5s`
- β
Embedded Fintech βΊ asset owners page loads β `1.5s`
**`functional-coverage.spec.ts`**
- β
Client CRUD Workflow βΊ should complete full client creation flow β Person β `3.2s`
- β
Client CRUD Workflow βΊ should complete full client creation flow β Entity β `2.8s`
- β
Client CRUD Workflow βΊ should cancel client creation and return to list β `1.8s`
- β
Client CRUD Workflow βΊ should disable office and legal form in edit mode β `2.2s`
- β
Client View & Status Transitions βΊ should display client view with correct details β `2.4s`
- β
Client View & Status Transitions βΊ should show actions menu for pending client (status 100) β `2.3s`
- β
Client View & Status Transitions βΊ should show actions menu for active client (status 300) β `2.4s`
- β
Client View & Status Transitions βΊ should show actions menu for closed client (status 600) β `3.2s`
- β
Client View & Status Transitions βΊ should show New Account menu for active client β `3.9s`
- β
Client View & Status Transitions βΊ should navigate from client view to client list via breadcrumb β `3.7s`
- β
Client View & Status Transitions βΊ should navigate back from client view β `3.1s`
- β
Client View Tabs βΊ should display all expected tabs on client view β `2.6s`
- β
Client View Tabs βΊ should switch between client view tabs β `3.3s`
- β
Search & Filter Interactions βΊ should have search input on clients page and accept input β `1.6s`
- β
Search & Filter Interactions βΊ should have office filter on groups page β `1.7s`
- β
Search & Filter Interactions βΊ should have office filter on loans page β `1.7s`
- β
Search & Filter Interactions βΊ should have search input on charges page β `1.6s`
- β
Navigation Flow Verification βΊ should navigate full client lifecycle: list β create β back β list β `2.0s`
- β
Navigation Flow Verification βΊ should navigate from dashboard to all top-level pages via sidebar β `3.8s`
- β
Navigation Flow Verification βΊ should go from loan products β create β back β `1.9s`
- β
Office CRUD βΊ should validate office create form β save disabled when empty β `1.8s`
- β
Office CRUD βΊ should validate office create form β save enabled when filled β `2.2s`
- β
Office CRUD βΊ should cancel office creation β `1.8s`
- β
Organization Create Flows βΊ staff create form loads β `2.2s`
- β
Organization Create Flows βΊ funds create form loads β `2.0s`
- β
Organization Create Flows βΊ payment types create form loads β `1.7s`
- β
Accounting CRUD βΊ accounting closure create form loads β `1.7s`
- β
Accounting CRUD βΊ accounting rule create form loads β `1.7s`
- β
Accounting CRUD βΊ financial activity mapping create form loads β `1.6s`
- β
Accounting CRUD βΊ charge create form loads β `1.7s`
- β
Accounting CRUD βΊ chart of accounts create form loads β `2.2s`
- β
Settings CRUD βΊ global configurations page has editable toggle β `1.6s`
- β
Settings CRUD βΊ holiday create form loads β `2.3s`
- β
Settings CRUD βΊ working days page has save button β `1.6s`
- β
System CRUD βΊ data table create form loads β `1.7s`
- β
System CRUD βΊ delinquency page has create buttons for ranges and buckets β `1.6s`
- β
Security CRUD βΊ role create form loads β `1.9s`
- β
Security CRUD βΊ audit logs search form has date range β `1.8s`
- β
Security CRUD βΊ audit logs list exports the loaded page as CSV β `1.8s`
- β
Reporting β Run Report Flow βΊ should navigate to report and verify report parameters β `2.4s`
- β
Teller CRUD βΊ teller create form loads β `1.8s`
- β
Create Office Dialog from Client Form βΊ should open create office dialog from client create form β `2.1s`
**`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 β `1.9s`
- β
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.1s`
- β
Global search navigation shortcuts βΊ withholds a shortcut the user has no permission to reach β `2.7s`
**`global-search-navigation.spec.ts`**
- β
Global search navigation βΊ does not query the backend for a single character β `2.3s`
- β
Global search navigation βΊ sends one request for a phrase typed straight through β `2.8s`
- β
Global search navigation βΊ opens the client behind a client result β `2.5s`
- β
Global search navigation βΊ opens the loan behind a loan result β `2.0s`
- β
Global search navigation βΊ opens the savings account behind a savings result β `1.9s`
- β
Global search navigation βΊ clears the query and closes the dropdown after a selection β `1.9s`
- β
Global search navigation βΊ closes the dropdown when focus leaves without a selection β `1.9s`
- β
Global search navigation βΊ shows nothing rather than an empty dropdown when there are no matches β `2.3s`
**`group-detail.spec.ts`**
- β
Group detail βΊ custom field tabs expose the app keyboard and panel contract at 1280px β `3.4s`
- β
Group detail βΊ custom field tabs expose the app keyboard and panel contract at 390px β `3.0s`
- β
Group detail βΊ asks for the associations, and shows every member rather than only the active ones β `2.5s`
- β
Group detail βΊ closes a group with the reason id and a Fineract-formatted date β `4.3s`
- β
Group detail βΊ does not offer a client who is already a member, and associates the one it does β `3.0s`
- β
Group detail βΊ unassigns a committee role by the assignment id, not the role id β `3.0s`
- β
Group detail βΊ offers a retry when the group cannot be loaded β `2.9s`
- β
Group detail βΊ says so when no closure reason has been defined β `3.6s`
**`guidance-tour.spec.ts`**
- β
the guided tour βΊ highlights the System Status card, not the sidebar, on the dashboard tour β `1.9s`
- β
the guided tour βΊ presents the card as a dialog named and described by its own copy β `1.5s`
- β
the guided tour βΊ announces the step counter as a polite live region β `2.0s`
- β
the guided tour βΊ closes on Escape and hands focus back to the Guide button β `1.5s`
- β
the guided tour βΊ names an unmatched route after itself instead of handing it the dashboard tour β `2.4s`
- βοΈ the guided tour at a phone viewport βΊ opens from the overflow menu as a full-width bottom sheet β `1.3s`
**`keyboard-shortcuts.spec.ts`**
- β
Alt+C jumps straight to Create Client from anywhere β `1.6s`
- β
Alt+G jumps to Create Group β `2.1s`
- β
Alt+E jumps to Create Center β `1.5s`
- β
Alt+H opens the guidance tour for the current page β `1.4s`
- β
typing in the global search box does not trigger the Create Client shortcut β `1.4s`
**`list-load-failure.spec.ts`**
- β
entity-to-entity mapping βΊ renders the rows the endpoint returns, rather than claiming there are none β `2.4s`
- β
entity-to-entity mapping βΊ shows a failure state, not an empty one, when the payload cannot be read β `3.0s`
- β
entity-to-entity mapping βΊ retries and recovers β `2.6s`
- β
report mailing jobs βΊ reads rows out of the paged envelope the endpoint returns β `2.8s`
- β
report mailing jobs βΊ shows a failure state when the request errors β `2.7s`
**`list-pagination.spec.ts`**
- β
List pagination βΊ advances through pages and back again β `2.8s`
- β
List pagination βΊ jumps to the last page β `2.5s`
- β
List pagination βΊ returns to the first page when a filter changes β `3.4s`
- β
List pagination βΊ keeps search text when paging and shows the v2 account number β `3.6s`
- β
List pagination βΊ redirects the old search page and exposes only one client navigation item β `4.1s`
- β
List pagination βΊ keeps an account-number search broad and disables unsupported Office sorting β `3.4s`
- β
List pagination βΊ returns to the first page when searching β `3.4s`
- β
Profile βΊ renders the signed-in user rather than hanging on a spinner β `2.8s`
- β
Profile βΊ changes the signed-in user password from the profile screen β `3.1s`
- β
Profile βΊ shows an error when the profile cannot be loaded β `2.8s`
- β
List load failure βΊ reports the failure and reloads when the user retries β `3.2s`
- β
List load failure βΊ calendars: reports the failure and reloads when the user retries β `2.6s`
- β
List load failure βΊ accounting rules: reports the failure and reloads when the user retries β `3.0s`
**`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 β `3.1s`
- β
Delinquency pause and resume on a regular loan βΊ pauses delinquency for a period, from the business date β `3.7s`
- β
Delinquency pause and resume on a regular loan βΊ will not take a pause that ends before, or when, it starts β `3.2s`
- β
Delinquency pause and resume on a regular loan βΊ sends nothing when the pause dialog is cancelled β `3.8s`
- β
Delinquency pause and resume on a regular loan βΊ shows the platformβs own reason when it refuses a pause, and stays usable β `3.5s`
- β
Delinquency pause and resume on a regular loan βΊ resumes a pause that is in effect, dated the business date and with no end date β `3.8s`
- β
Delinquency pause and resume on a regular loan βΊ stops offering resume once the pause has been ended β `3.2s`
- β
Delinquency pause and resume on a regular loan βΊ does not offer resume when no pause is in effect β `3.0s`
- β
Delinquency pause and resume on a regular loan βΊ offers neither action without the permission to create a delinquency action β `2.9s`
- β
Delinquency pause and resume on a regular loan βΊ offers the permitted user the actions that permission opens, and no others β `2.4s`
- β
Delinquency pause and resume on a regular loan βΊ offers neither action on a loan that is not active β `3.0s`
**`loan-portfolio-summary.spec.ts`**
- β
Loan Portfolio Summary βΊ searching sends entities: loans and shows the grouped results β `2.8s`
- β
Loan Portfolio Summary βΊ Edit Parameters returns from the results view to the filter form β `2.8s`
- β
Loan Portfolio Summary βΊ checking the outstanding-amount filter sends the between min/max values β `2.6s`
- β
Loan Portfolio Summary βΊ switching to a single-value comparison condition sends one value β `3.3s`
**`loan-product-down-payment.spec.ts`**
- β
Loan product down payment and tranches βΊ down payment is offered only for a progressive product β `3.4s`
- β
Loan product down payment and tranches βΊ the percentage and auto-repayment appear only once down payment is on β `3.4s`
- β
Loan product down payment and tranches βΊ multi-tranche disbursement reveals its tranche count, on either engine β `3.0s`
- β
Loan product down payment and tranches βΊ submits the down payment and tranche settings it was given β `3.8s`
- β
Loan product down payment and tranches βΊ does not send a down payment on a cumulative product β `4.3s`
- β
Loan product down payment and tranches βΊ income recognition is offered only for a progressive product β `3.2s`
- β
Loan product down payment and tranches βΊ the capitalisation details appear only once it is on β `3.4s`
- β
Loan product down payment and tranches βΊ submits the income recognition settings it was given β `3.1s`
- β
Loan product down payment and tranches βΊ does not send income recognition on a cumulative product β `4.2s`
- β
Loan product down payment and tranches βΊ interest recalculation reveals its mandatory settings only once it is on β `2.6s`
- β
Loan product down payment and tranches βΊ the rest interval appears only when the frequency is not the repayment period β `3.2s`
- β
Loan product down payment and tranches βΊ submits the interest recalculation settings it was given β `2.5s`
- β
Loan product down payment and tranches βΊ does not send recalculation settings once it is switched back off β `2.7s`
**`charge-refund.spec.ts`**
- β
refunds the remaining balance of a collected loan charge β `4.8s`
**`client-empty-account-cta.spec.ts`**
- β
empty account tabs offer the matching creation action β `4.2s`
**`client-load-error.spec.ts`**
- β
shows a not-found state and returns to the list, without an error toast β `2.7s`
- β
offers a retry for a transient failure, and recovers on success β `2.7s`
**`contract-termination.spec.ts`**
- β
terminates and undoes a progressive loan contract β `6.7s`
**`loan-schedule-type-gating.spec.ts`**
- β
Loan schedule type gating βΊ a cumulative loan offers neither progressive-only tab, and fetches neither β `2.3s`
- β
Loan schedule type gating βΊ a progressive loan shows only the capabilities it actually has β `2.3s`
- β
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.4s`
- β
Loan schedule type gating βΊ a charged-off loan says so and offers the reversal instead β `2.5s`
- β
Loan schedule type gating βΊ a healthy loan offers charge-off and no marker β `2.9s`
**`loan-servicing-gaps.spec.ts`**
- β
Loan servicing gaps βΊ edits an interest pause through PUT while preserving its existing dates β `2.6s`
- β
Loan servicing gaps βΊ undo approval sends an empty body, without the locale the platform refuses β `3.2s`
- β
Loan servicing gaps βΊ undo approval carries the reason when one was given β `3.4s`
- β
Loan servicing gaps βΊ undo approval is offered only while the loan is approved β `2.3s`
- β
Loan servicing gaps βΊ the delinquency tab shows the summary the loan carries and the tags it fetches β `2.4s`
- β
Loan servicing gaps βΊ the data-only tabs stay hidden when the loan carries nothing for them β `2.4s`
- β
Loan servicing gaps βΊ each data-only tab appears and renders once the loan carries its data β `2.5s`
- β
Loan servicing gaps βΊ disburse to savings sends the date and amount, with the platform date format β `3.1s`
- β
Loan servicing gaps βΊ disburse to savings is offered only on an approved loan β `3.0s`
- β
Loan servicing gaps βΊ unassign loan officer sends the date, and appears only when one is assigned β `3.2s`
- β
Loan servicing gaps βΊ unassign loan officer is hidden on a loan with no officer β `2.5s`
- β
Loan servicing gaps βΊ undo last disbursal appears only on a multi-disbursal loan, and sends an empty body β `3.4s`
- β
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 β `2.3s`
- β
Loan servicing gaps βΊ revising the amounts is offered on an approved loan β `2.8s`
- β
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 β `2.9s`
- β
Loan servicing gaps βΊ revising the available disbursement amount sends the new amount, including zero β `3.8s`
**`logout-reason-notice.spec.ts`**
- β
explains an inactivity sign-out β `1.3s`
- β
explains an expired session, with different wording β `1.1s`
- β
stays silent when the user came to sign in of their own accord β `160ms`
- β
stays silent for a reason it does not recognise, rather than showing a blank notice β `159ms`
**`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.1s`
- β
identity-provider route on the login page βΊ does not offer the route when the flag is "true" β `1.1s`
- β
identity-provider route on the login page βΊ does not offer the route when the flag is 1 β `1.3s`
- β
identity-provider route on the login page βΊ offers the route above the password form, which stays in place β `1.2s`
- β
identity-provider route on the login page βΊ says plainly that it is not available yet, and goes nowhere β `1.1s`
- β
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.2s`
**`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.8s`
- β
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.4s`
- β
RBAC institution-feature gating (rbacEnabled = true) βΊ universal institution shows Groups, Centers and Collection Sheet β `1.3s`
- β
RBAC institution-feature gating (rbacEnabled = true) βΊ commercial bank (cb) hides all group-lending features β `1.7s`
- β
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.2s`
- β
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.4s`
- β
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.1s`
- β
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.8s`
- β
route authorization βΊ an unauthenticated visitor is asked to sign in, not told they are forbidden β `4.7s`
- β
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.8s`
- β
the Access Denied page βΊ moves focus to the heading, since the user did not ask to come here β `2.8s`
- β
the Access Denied page βΊ announces itself politely β `2.7s`
- β
the Access Denied page βΊ names the permissions the screen wanted, so the user can ask for them β `3.0s`
- β
the Access Denied page βΊ offers a way back that the user is allowed to take β `2.8s`
- β
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.4s`
- β
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.4s`
- β
navigation and routes agree βΊ the create button is withheld from a user whose create route would refuse them β `2.9s`
**`report-enhancements.spec.ts`**
- β
Report Enhancements, Pagination, and Help Tour βΊ should run report, show paginated data, and download CSV β `3.4s`
- β
Report Enhancements, Pagination, and Help Tour βΊ should trigger guidance help tour and navigate steps β `2.8s`
**`reporting.spec.ts`**
- β
Reporting βΊ should display list of reports β `1.5s`
- β
Reporting βΊ should navigate to run report page β `1.6s`
**`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`
**`two-factor-authentication.spec.ts`**
- β
two-step verification βΊ asks for a code and lets the user in once it is accepted β `1.3s`
- β
two-step verification βΊ sends the token on every later request β `1.6s`
- β
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.5s`
- β
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.8s`
- β
two-step verification βΊ backing out returns to the password form β `1.2s`
- β
two-step verification βΊ a deployment without a second factor signs in exactly as before β `1.2s`
**`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.4s`
- β
Working Capital loan delinquency, breach and near-breach actions, and originators βΊ shows breach action history and submits a new one β `4.2s`
- β
Working Capital loan delinquency, breach and near-breach actions, and originators βΊ shows near-breach action history and submits a new one β `3.3s`
- β
Working Capital loan delinquency, breach and near-breach actions, and originators βΊ attaches and detaches a loan originator β `3.1s`
- β
Working Capital loan delinquency, breach and near-breach actions, and originators βΊ adds a new charge and waives an existing one β `3.8s`
- β
Working Capital loan delinquency, breach and near-breach actions, and originators βΊ shows rate-change history, amortization schedule, and delinquency range tags β `2.6s`
- β
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.5s`
</details>
<details>
<summary><b>Slowest 10</b> β what the shard counts should be tuned against</summary>
| Test | Spec | Time |
| --- | --- | ---: |
| Runtime accessibility βΊ banner and dashboard content have no blocking violations | `accessibility.spec.ts` | 14.3s |
| route authorization βΊ a superuser reaches every sampled route and sees the full navigation | `rbac-route-protection.spec.ts` | 10.4s |
| route authorization βΊ a read-only user gets the lists and not the forms | `rbac-route-protection.spec.ts` | 9.1s |
| 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.7s |
| route authorization βΊ a deployment with RBAC turned off behaves as it did before the guard | `rbac-route-protection.spec.ts` | 6.2s |
| Client form date pickers βΊ stay usable on a second visit to the create form | `client-date-picker-revisit.spec.ts` | 5.1s |
| Client transfers βΊ proposing a transfer sends the destination, the date and the format that parses it | `client-servicing-gaps.spec.ts` | 4.8s |
| route authorization βΊ an unrecognised permission code grants nothing | `rbac-route-protection.spec.ts` | 4.8s |
</details>
πΌ [Download the HTML report, videos and traces](https://github.com/apache/fineract-backoffice-ui/actions/runs/37472760654) β see the `playwright-report-mocked` artifact.
<sub>Generated by [run 37472760654](https://github.com/apache/fineract-backoffice-ui/actions/runs/37472760654) from `f2a6f27`. 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