wellkilo opened a new pull request, #615:
URL: https://github.com/apache/fineract-backoffice-ui/pull/615

   ## What and why
   
   Adds the self-service password change called out as the security-critical 
first step in #492. The signed-in user can now open **Change Password** on 
`/profile`, enter a new password twice, see the tenant's active password-policy 
description when available, and submit without involving an administrator.
   
   The form uses Fineract's `POST /users/{userId}/pwd` endpoint with the user 
id from the authenticated session. The endpoint accepts only `password` and 
`repeatPassword`; it does not accept the current password, so the UI does not 
pretend to verify one. Fineract remains authoritative for the configured 
password regex, reuse rules, and authorization.
   
   The policy endpoint is loaded only when the form opens. If it is unavailable 
or forbidden, the password form still works and backend validation reports the 
actual policy failure.
   
   This PR covers the password-rotation gap from #492. The optional 
email/profile-edit action remains separate.
   
   ## Verification
   
   - `npm run lint` — passed
   - `npm run format:check` — passed
   - `npm run i18n:check` — passed
   - `npm run check:icons` — passed
   - `npm run check:a11y-names` — passed
   - `npm run api:surface` — passed after recording `postUsersUserIdPwd`
   - `npm run build` — passed; the pre-existing `header.component.ts` 
stylesheet budget warning remains
   - `npm test -- --watch=false` — 248 test files, 1530 tests passed
   - `npx playwright test e2e/list-pagination.spec.ts --project=mocked --grep 
Profile` — 3 tests passed
   - New component tests cover the action, policy display, mismatch handling, 
request payload, and success state
   - Commit `467fd88` is signed and GitHub reports it as **Verified**
   
   Browser coverage uses mocked API responses. This exercises the request body 
and UI state, but not a live Fineract password-policy configuration.
   
   ## Screenshots
   
   The new mocked browser test exercises the visible action and form flow. No 
binary artifact is committed.
   
   ## AI assistance (optional)
   
   - Tool / model: OpenAI Codex
   - Harness / workflow: ECC `source-command-feature-dev`, repository guidance 
in `AGENTS.md`, local lint/build/unit/Playwright verification
   
   ## Checklist
   
   - [x] I did not hand-edit generated files under `src/app/api/`.
   - [x] New component or service code uses the adapter boundary in 
`src/app/core/adapters/` instead of direct browser globals or imperative 
third-party APIs.
   - [x] User-facing strings use translation keys.
   - [x] I added or updated tests appropriate to this change.
   - [x] UI workflow changes include suitable e2e coverage. Mocked coverage is 
sufficient for the request and form state; live password-policy validation 
remains backend-owned.
   - [x] Commits are signed — `467fd88` is Verified on GitHub.
   - [x] I followed the AI-assisted contributions guidance.
   


-- 
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]

Reply via email to