github-actions[bot] commented on PR #825:
URL:
https://github.com/apache/fineract-backoffice-ui/pull/825#issuecomment-6304515672
<!-- e2e-report-backend -->
### E2E β real Fineract
## π E2E Tests
**β 6 failing** β 151 passed Β· 6 failed Β· 14 skipped Β· 7 flaky, across 50
spec files in 13m 45s.
### β Failures
- **Accounting closures against Fineract βΊ the form keeps the user on the
page and names the reason when Fineract refuses** β
`accounting-closure-backend.spec.ts`
- Error: DELETE /glclosures/6 -> 403: {"developerMessage":"Request was
understood but caused a domain rule
violation.","httpStatusCode":"403","defaultUserMessage":"Errors contain reason
for domain rule
- **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** β `loan-flows-non-admin-roles.spec.ts`
- Error: expect(page).toHaveURL(expected) failed
- **Full feature demo recording βΊ walk through loan schedule type,
lifecycle, custom fields, collateral, and disbursement** β `full-demo.spec.ts`
- Error: expect(page).toHaveURL(expected) failed
- **Loan lifecycle: creation, approval, disbursement βΊ create, approve, and
disburse a Cumulative loan** β `loan-lifecycle.spec.ts`
- Error: expect(page).toHaveURL(expected) failed
- **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** β `savings-flows-non-admin-roles.spec.ts`
- Error: expect(page).toHaveURL(expected) failed
- **charge adjustment βΊ adjusts a charge, and the outstanding amount
follows** β `working-capital-servicing-backend.spec.ts`
- Error: POST /working-capital-loans/15/charges -> 400:
{"developerMessage":"The request was invalid. This typically will happen due to
validation errors which are provided.","httpStatusCode":"400","def
### β οΈ Passed on retry
Green overall, but these needed more than one attempt β the shape a flake
takes.
- **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` (2 retry/retries)
- **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** β `loan-flows-non-admin-roles.spec.ts` (2 retry/retries)
- **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` (2 retry/retries)
- **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** β `savings-flows-non-admin-roles.spec.ts` (2 retry/retries)
- **transaction corrections βΊ undoes a repayment, and the platform marks it
reversed** β `working-capital-servicing-backend.spec.ts` (2 retry/retries)
- **transaction corrections βΊ offers no correction on the disbursement,
which the platform refuses by type** β
`working-capital-servicing-backend.spec.ts` (2 retry/retries)
- **transaction corrections βΊ adjusts a repayment, which reverses it and
books the new amount** β `working-capital-servicing-backend.spec.ts` (2
retry/retries)
### By spec file
| Spec | β
| β | βοΈ | π | Time |
| --- | ---: | ---: | ---: | ---: | ---: |
| backend.setup.ts | 3 | 0 | 0 | 0 | 5.6s |
| **accounting-closure-backend.spec.ts** | 1 | 1 | 0 | 0 | 13.9s |
| batch-api-operations.spec.ts | 5 | 0 | 0 | 0 | 30.0s |
| center-servicing.spec.ts | 2 | 0 | 0 | 0 | 18.8s |
| charge-servicing-backend.spec.ts | 6 | 0 | 0 | 0 | 31.5s |
| client-legal-form-search.spec.ts | 1 | 0 | 0 | 0 | 5.4s |
| client-transfer.spec.ts | 4 | 0 | 0 | 0 | 47.4s |
| collection-sheet.spec.ts | 1 | 0 | 0 | 0 | 7.0s |
| deposit-account-servicing.spec.ts | 3 | 0 | 0 | 0 | 27.6s |
| deposit-lifecycle-backend.spec.ts | 4 | 0 | 0 | 0 | 25.0s |
| deposit-product-configuration.spec.ts | 3 | 0 | 0 | 0 | 17.8s |
| double-submit-backend.spec.ts | 2 | 0 | 0 | 0 | 13.2s |
| form-layout-reflow.spec.ts | 6 | 0 | 0 | 0 | 37.3s |
| group-membership.spec.ts | 3 | 0 | 0 | 0 | 50.8s |
| loan-account-actions.spec.ts | 3 | 0 | 0 | 0 | 26.1s |
| loan-approved-amount-revision.spec.ts | 3 | 0 | 0 | 0 | 21.2s |
| loan-charge-off.spec.ts | 2 | 0 | 0 | 0 | 20.8s |
| **loan-flows-non-admin-roles.spec.ts** | 2 | 1 | 5 | 0 | 1m 21s |
| loan-product-accounting.spec.ts | 1 | 0 | 0 | 0 | 33.1s |
| loan-repayment-gating.spec.ts | 2 | 0 | 0 | 0 | 9.8s |
| loan-servicing-rbac-backend.spec.ts | 4 | 0 | 0 | 0 | 11.1s |
| loan-servicing.spec.ts | 2 | 0 | 0 | 0 | 20.4s |
| login.spec.ts | 4 | 0 | 0 | 0 | 5.7s |
| oidc-login-backend.spec.ts | 2 | 0 | 0 | 0 | 5.2s |
| parity-screens.spec.ts | 8 | 0 | 0 | 0 | 45.8s |
| rbac-backend-restricted-user.spec.ts | 7 | 0 | 0 | 0 | 39.0s |
| rbac-dead-end-controls.spec.ts | 7 | 0 | 0 | 0 | 38.0s |
| rbac-disabled-flag-backend.spec.ts | 6 | 0 | 0 | 0 | 28.9s |
| rbac-multi-permission.spec.ts | 9 | 0 | 0 | 0 | 1m 1s |
| rbac-office-scoped-user.spec.ts | 6 | 0 | 0 | 0 | 26.6s |
| bulk-import-entity-types.spec.ts | 1 | 0 | 0 | 0 | 7.6s |
| delinquency-configuration.spec.ts | 2 | 0 | 0 | 0 | 15.9s |
| **full-demo.spec.ts** | 0 | 1 | 0 | 0 | 48.7s |
| interest-rate-charts.spec.ts | 1 | 0 | 0 | 0 | 6.0s |
| **loan-lifecycle.spec.ts** | 0 | 1 | 3 | 0 | 37.4s |
| loan-schedule-type.spec.ts | 3 | 0 | 0 | 0 | 26.3s |
| rbac-permissionless-user.spec.ts | 4 | 0 | 0 | 0 | 17.6s |
| report-mailing-job.spec.ts | 3 | 0 | 0 | 0 | 15.9s |
| report-parameter-backend.spec.ts | 4 | 0 | 0 | 0 | 18.5s |
| **savings-flows-non-admin-roles.spec.ts** | 2 | 1 | 4 | 0 | 1m 10s |
| savings-transaction-correction.spec.ts | 1 | 0 | 0 | 0 | 5.5s |
| savings-transaction-gating.spec.ts | 2 | 0 | 0 | 0 | 5.2s |
| share-account-servicing.spec.ts | 2 | 0 | 0 | 0 | 17.0s |
| share-product-accounting.spec.ts | 1 | 0 | 0 | 0 | 21.3s |
| teller-cash-management.spec.ts | 2 | 0 | 0 | 0 | 31.2s |
| tenant-date-defaults-backend.spec.ts | 1 | 0 | 0 | 0 | 5.3s |
| working-capital-loan-actions-backend.spec.ts | 3 | 0 | 0 | 0 | 17.0s |
| working-capital-product-accounting-backend.spec.ts | 2 | 0 | 0 | 0 | 18.1s
|
| working-capital-rbac-backend.spec.ts | 2 | 0 | 0 | 0 | 5.9s |
| **working-capital-servicing-backend.spec.ts** | 3 | 1 | 2 | 0 | 12.6s |
<details>
<summary><b>All 171 tests</b> β click to expand</summary>
**`backend.setup.ts`**
- β
seed backend reference data β `1.9s`
- β
seed backend reference data β `2.1s`
- β
seed backend reference data β `1.6s`
**`accounting-closure-backend.spec.ts`**
- β
Accounting closures against Fineract βΊ a closed period reads as Closed,
and the platform refuses a posting inside it β `7.5s`
- β Accounting closures against Fineract βΊ the form keeps the user on the
page and names the reason when Fineract refuses β `6.4s` _(retried 2Γ)_
**`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 β `5.8s`
- β
Batch API Operations against Fineract βΊ shows a parse error instead of
submitting when the batch input is not valid JSON β `7.1s`
- β
Batch API enclosingTransaction semantics against Fineract βΊ rolls back
the earlier steps when enclosingTransaction is true and a later step fails β
`5.6s`
- β
Batch API enclosingTransaction semantics against Fineract βΊ does not
roll back the earlier steps when enclosingTransaction is false and a later step
fails β `5.9s`
- β
Batch API Operations on a mobile viewport against Fineract βΊ the sample
batch scenario is reachable and works by touch at mobile width β `5.6s`
**`center-servicing.spec.ts`**
- β
Center servicing βΊ a center is activated, staffed and given a group β
`12.9s`
- β
Center servicing βΊ notes are recorded against the center β `5.9s`
**`charge-servicing-backend.spec.ts`**
- β
loan charge servicing βΊ waives a loan charge, and the platform records
the waiver β `6.4s`
- β
loan charge servicing βΊ cannot reverse a waiver: the platform answers
500, not a business rule β `605ms`
- β
loan charge servicing βΊ offers no Pay on a charge the platform will not
let be paid β `5.5s`
- β
loan charge servicing βΊ adjusts a loan charge to a smaller amount β
`6.7s`
- β
savings charge servicing βΊ pays a savings charge with the amount and due
date the platform demands β `6.0s`
- β
savings charge servicing βΊ carries an active flag, which is what gates
Inactivate β `6.3s`
**`client-legal-form-search.spec.ts`**
- β
Client list: legal form filtering βΊ an entity client appears in the main
client list β `5.4s`
**`client-transfer.spec.ts`**
- β
Client transfer between offices βΊ a proposed transfer is held until the
destination accepts, and then the client moves β `12.1s`
- β
Client transfer between offices βΊ a rejected transfer leaves the client
on hold, and withdrawing is the way back β `12.8s`
- β
Client transfer between offices βΊ a client can be transferred in one
step when the user may act for both offices β `10.7s`
- β
Client staff assignment βΊ an officer can be assigned and then removed β
`11.7s`
**`collection-sheet.spec.ts`**
- β
Collection Sheet βΊ scopes staff to the office, sends the choice, and
reports an empty sheet β `7.0s`
**`deposit-account-servicing.spec.ts`**
- β
Term deposit account servicing βΊ an account is approved, activated and
closed before maturity β `12.0s`
- β
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.5s`
**`deposit-lifecycle-backend.spec.ts`**
- β
fixed deposit products βΊ carry the rate the user typed, not a hidden
default β `5.6s`
- β
an active fixed deposit account βΊ shows its balance and maturity figures
β `5.5s`
- β
an active fixed deposit account βΊ can be closed into the client savings
account β `7.6s`
- β
an active fixed deposit account βΊ can have a charge added to it β `6.3s`
**`deposit-product-configuration.spec.ts`**
- β
Deposit product configuration βΊ a fixed deposit product survives being
edited β `6.1s`
- β
Deposit product configuration βΊ a recurring deposit product can be
created at all β `5.6s`
- β
Deposit product configuration βΊ a savings product carries its accounting
configuration β `6.1s`
**`double-submit-backend.spec.ts`**
- β
A double-click submits once βΊ a repayment is recorded once, not twice β
`6.4s`
- β
A double-click submits once βΊ a client is created once, not twice β
`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.3s`
- β
form layout at the narrow viewport βΊ Create Loan gives every field a
usable width at 320px β `5.3s`
- β
form layout at the narrow viewport βΊ Create Office gives every field a
usable width at 320px β `5.6s`
- β
form layout at the narrow viewport βΊ Create Staff gives every field a
usable width at 320px β `5.3s`
- β
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.6s`
**`group-membership.spec.ts`**
- β
Group membership and lifecycle βΊ a group is activated, staffed, given
members and a committee, then emptied β `21.0s`
- β
Group membership and lifecycle βΊ notes are recorded against the group
and can be removed again β `9.2s`
- β
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.5s`
- β
Loan account lifecycle actions βΊ undo disbursal shows a confirm dialog
and reverts the loan to Approved β `9.9s`
- β
Loan account lifecycle actions βΊ write off requires confirmation and
moves the loan out of Active status β `8.7s`
**`loan-approved-amount-revision.spec.ts`**
- β
Loan approved and available-disbursement amount revision βΊ revises the
approved amount on an active, partially-disbursed loan β `7.4s`
- β
Loan approved and available-disbursement amount revision βΊ revises the
available disbursement amount, which also changes the approved amount β `7.0s`
- β
Loan approved and available-disbursement amount revision βΊ shows the
platformβs own refusal, not a generic validation message β `6.8s`
**`loan-charge-off.spec.ts`**
- β
Loan servicing commands βΊ charges a loan off through the UI and reverses
it β `11.7s`
- β
Loan servicing commands βΊ records a goodwill credit through the shared
transaction form β `9.2s`
**`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 β
`40.8s` _(retried 2Γ)_
- β
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 β `14.3s` _(retried 2Γ)_
- β 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 β `25.7s` _(retried 2Γ)_
- βοΈ 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 β
`0ms` _(retried 2Γ)_
- βοΈ 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
β `0ms` _(retried 2Γ)_
- βοΈ 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
β `0ms` _(retried 2Γ)_
- βοΈ 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 β `0ms` _(retried 2Γ)_
- βοΈ a loan taken through four separated duties, every account built in the
UI βΊ a repayment duty reaches its own form, and records a repayment β `0ms`
_(retried 2Γ)_
**`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 β `349ms`
**`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.2s`
- β
loan servicing and charge command permissions, on the platform βΊ no
portfolio write code authorises any of its entity commands β `5.7s`
- β
loan servicing and charge command permissions, on the platform βΊ the
deferred-income adjustments are not commands at loan level β `153ms`
- β
loan servicing and charge command permissions, on the platform βΊ the
deferred-income adjustments are commands on one transaction β `153ms`
**`loan-servicing.spec.ts`**
- β
Loan servicing: notes and transaction adjustment βΊ notes can be added
and removed, with a confirm dialog on delete β `9.3s`
- β
Loan servicing: notes and transaction adjustment βΊ a repayment
transaction can be viewed and adjusted with a corrected amount β `11.2s`
**`login.spec.ts`**
- β
Login βΊ login page displays correctly β `1.3s`
- β
Login βΊ login form has required fields β `1.2s`
- β
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.9s`
- β
identity-provider route against a real Fineract βΊ a real password
sign-in still gets a session with the route offered β `3.3s`
**`parity-screens.spec.ts`**
- β
Screens added for platform parity βΊ a manual journal entry can be read
whole and reversed β `6.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 β `4.8s`
- β
Screens added for platform parity βΊ a pending loan is approved from the
queue, in a batch β `6.2s`
- β
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 β `5.3s`
- β
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 β `169ms`
- β
a genuinely restricted Fineract user βΊ reaches the screen their
permission covers β `5.7s`
- β
a genuinely restricted Fineract user βΊ is refused a screen their
permission does not cover, by URL and by the backend β `5.2s`
- β
a genuinely restricted Fineract user βΊ is refused a write screen they
can read the list for, and the write itself β `7.6s`
- β
a genuinely restricted Fineract user βΊ is not offered the actions it
would be refused for β `4.1s`
- β
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 β `9.5s`
**`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.7s`
- β
a client's account tables βΊ keep the link for a user who holds READ_LOAN
β `6.5s`
- β
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 β `5.0s`
- β
the office transactions list βΊ refuses the list at the door for the code
the platform does not check β `4.7s`
- β
a group's member list βΊ names the member without linking when the reader
cannot open clients β `5.7s`
- β
a group's member list βΊ keeps the link for a reader who holds
READ_CLIENT β `5.2s`
**`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.7s`
- β
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.5s`
- β
rbacEnabled: false, with a user who holds only READ_CLIENT βΊ is still
refused by Fineract, which the flag does not reach β `554ms`
- β
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.5s`
- β
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.4s`
- β
rbacEnabled: false, with a user who holds only READ_CLIENT βΊ still loads
the list their role does cover, with no failure state at all β `6.2s`
**`rbac-multi-permission.spec.ts`**
- β
a route declaring more than one permission code (OR semantics) βΊ is
admitted by either declared code alone β `5.5s`
- β
a route declaring more than one permission code (OR semantics) βΊ is
admitted by the other declared code alone β `5.0s`
- β
a route declaring more than one permission code (OR semantics) βΊ is
refused when holding neither declared code, by the router and by the backend β
`5.2s`
- β
ALL_FUNCTIONS_READ, against the real Fineract permission catalogue βΊ
reaches read screens across modules it holds no specific code for β `10.3s`
- β
ALL_FUNCTIONS_READ, against the real Fineract permission catalogue βΊ is
refused every write screen, and the writes themselves β `7.4s`
- β
a restricted session across a real page reload βΊ keeps the same
permission boundary after reloading, not just after a fresh login β `10.0s`
- β
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 β `6.2s`
- β
Security module writes (users, roles), against the real backend βΊ
reaches the list screens but is refused the write screens β `11.3s`
- β
Security module writes (users, roles), against the real backend βΊ is
refused creating a user and modifying a role, by the backend itself β `306ms`
**`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 β `388ms`
- β
an account scoped to a branch office βΊ is shown only its own office in
the client list, and told which office it is in β `4.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 β `4.6s`
- β
an account scoped to a branch office βΊ can still open the record that is
in its own office β `5.4s`
- β
an account scoped to a branch office βΊ is not offered an edit it would
be refused for on the Offices screen β `6.9s`
**`bulk-import-entity-types.spec.ts`**
- β
every offered entity type is one the platform accepts β `7.6s`
**`delinquency-configuration.spec.ts`**
- β
creates a delinquency range, then edits it β `8.2s`
- β
creates a delinquency bucket from the ranges the template offers β `7.7s`
**`full-demo.spec.ts`**
- β Full feature demo recording βΊ walk through loan schedule type,
lifecycle, custom fields, collateral, and disbursement β `48.7s` _(retried 2Γ)_
**`interest-rate-charts.spec.ts`**
- β
lists charts without a server error β `6.0s`
**`loan-lifecycle.spec.ts`**
- β Loan lifecycle: creation, approval, disbursement βΊ create, approve, and
disburse a Cumulative loan β `37.4s` _(retried 2Γ)_
- βοΈ Loan lifecycle: creation, approval, disbursement βΊ create, approve, and
disburse a Progressive loan β `0ms` _(retried 2Γ)_
- βοΈ Loan lifecycle: creation, approval, disbursement βΊ an approved loan can
be returned to pending approval β `0ms` _(retried 2Γ)_
- βοΈ Loan lifecycle: creation, approval, disbursement βΊ the delinquency tab
reads a real loan, and the empty data tabs stay hidden β `0ms` _(retried 2Γ)_
**`loan-schedule-type.spec.ts`**
- β
Loan Schedule Type (Cumulative vs Progressive) βΊ loan products list
shows a schedule type chip per product β `7.1s`
- β
Loan Schedule Type (Cumulative vs Progressive) βΊ create a Progressive
loan product end-to-end and verify it round-trips β `11.0s`
- β
Loan Schedule Type (Cumulative vs Progressive) βΊ loan creation shows the
schedule type badge for a Progressive product β `8.2s`
**`rbac-permissionless-user.spec.ts`**
- β
an account whose role grants nothing βΊ is authenticated by Fineract and
authorized by it for nothing β `652ms`
- β
an account whose role grants nothing βΊ is signed in and landed on a
screen rather than stranded at the login form β `4.1s`
- β
an account whose role grants nothing βΊ is offered no permission-gated
module, and refused each one by URL and by Fineract β `9.1s`
- β
an account whose role grants nothing βΊ is left a navigation whose
entries actually work β `3.8s`
**`report-mailing-job.spec.ts`**
- β
report mailing job creation βΊ is no longer refused for a missing
parameter β `5.2s`
- β
report mailing job creation βΊ the payload carries the locale and the
schedule β `4.4s`
- β
report mailing job creation at the narrow viewport βΊ every field is
reachable and the job still saves at 320px β `6.3s`
**`report-parameter-backend.spec.ts`**
- β
Dynamic report parameters against Fineract βΊ keeps the parameter form
available when a report has cascading lookups β `3.8s`
- β
Dynamic report parameters against Fineract βΊ changing Office changes the
Client Listing row set β `4.9s`
- β
Cascading report parameters against Fineract βΊ sends the parent value to
the child lookup and clears the child when it changes β `6.2s`
- β
Chart reports against Fineract βΊ renders a chart report as a chart
rather than a table β `3.6s`
**`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 β `38.8s` _(retried 2Γ)_
- β
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 β `7.0s` _(retried 2Γ)_
- β 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 β `24.0s` _(retried 2Γ)_
- βοΈ a savings account taken through four separated duties, every account
built in the UI βΊ the activator activates, and cannot take a deposit β `0ms`
_(retried 2Γ)_
- βοΈ 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 β `0ms` _(retried 2Γ)_
- βοΈ 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 β `0ms` _(retried 2Γ)_
- βοΈ 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 β `0ms` _(retried 2Γ)_
**`savings-transaction-correction.spec.ts`**
- β
Savings transaction correction βΊ a deposit is reversed and a hold is
released β `5.5s`
**`savings-transaction-gating.spec.ts`**
- β
Savings transactions are offered only on an active account βΊ withheld
while awaiting approval, offered once active β `5.0s`
- β
Savings transactions are offered only on an active account βΊ the
platform refuses a deposit on an account awaiting approval β `219ms`
**`share-account-servicing.spec.ts`**
- β
Share account servicing βΊ an account is approved, activated, traded and
closed β `12.1s`
- β
Share account servicing βΊ an application can be rejected β `4.9s`
**`share-product-accounting.spec.ts`**
- β
Share product accounting βΊ a share product is mapped to equity and
round-trips on edit β `21.3s`
**`teller-cash-management.spec.ts`**
- β
Teller cash management βΊ a cashier is listed, receives an allocation,
and settles cash back β `21.4s`
- β
Teller cash management βΊ settling more than the cashier holds is refused
and the form stays usable β `9.8s`
**`tenant-date-defaults-backend.spec.ts`**
- β
Date defaults come from the platform, not the browser βΊ a client can be
created while the browser is a day ahead β `5.3s`
**`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 β `6.6s`
- β
Working Capital loan actions, against a real Fineract βΊ credits the
borrower with a goodwill credit, and the balance falls β `4.7s`
- β
Working Capital loan actions, against a real Fineract βΊ writes the loan
off, which closes it and opens the recovery path β `5.8s`
**`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 β `13.9s`
- β
Working Capital product accounting, on the platform βΊ prefills a
configured product and re-saves it without blanking anything β `4.2s`
**`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 β `4.2s`
- β
Working Capital command permissions, on the platform βΊ
UPDATE_WORKINGCAPITALLOAN authorises none of them β `1.8s`
**`working-capital-servicing-backend.spec.ts`**
- β
transaction corrections βΊ undoes a repayment, and the platform marks it
reversed β `4.5s` _(retried 2Γ)_
- β
transaction corrections βΊ offers no correction on the disbursement,
which the platform refuses by type β `3.8s` _(retried 2Γ)_
- β
transaction corrections βΊ adjusts a repayment, which reverses it and
books the new amount β `4.1s` _(retried 2Γ)_
- β charge adjustment βΊ adjusts a charge, and the outstanding amount follows
β `238ms` _(retried 2Γ)_
- βοΈ custom datatables βΊ adds, edits and deletes a row of a multi-row table
on the loan β `0ms` _(retried 2Γ)_
- βοΈ custom datatables βΊ creates a loan that a create-time check would
otherwise refuse β `0ms` _(retried 2Γ)_
</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` | 48.7s |
| 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` | 40.8s |
| 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` | 38.8s |
| Loan lifecycle: creation, approval, disbursement βΊ create, approve, and
disburse a Cumulative loan | `loan-lifecycle.spec.ts` | 37.4s |
| 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 |
| 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 | `loan-flows-non-admin-roles.spec.ts` | 25.7s |
| 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 |
`savings-flows-non-admin-roles.spec.ts` | 24.0s |
| Teller cash management βΊ a cashier is listed, receives an allocation, and
settles cash back | `teller-cash-management.spec.ts` | 21.4s |
| Share product accounting βΊ a share product is mapped to equity and
round-trips on edit | `share-product-accounting.spec.ts` | 21.3s |
| Group membership and lifecycle βΊ a group is activated, staffed, given
members and a committee, then emptied | `group-membership.spec.ts` | 21.0s |
</details>
πΌ [Download the HTML report, videos and
traces](https://github.com/apache/fineract-backoffice-ui/actions/runs/39452944230)
β see the `playwright-report-backend` artifact.
<sub>Generated by [run
39452944230](https://github.com/apache/fineract-backoffice-ui/actions/runs/39452944230)
from `af97825`. 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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]