Repository navigation
fix(clients): distinguish unset birth dates in client and family forms - #829
Conversation
E2E — mocked backend🎭 E2E Tests✅ All green — 439 passed · 0 failed · 1 skipped, across 44 spec files in 10m 57s. By spec file
All 440 tests — click to expand
Slowest 10 — what the shard counts should be tuned against
📼 Download the HTML report, videos and traces — see the Generated by run 40304726462 from |
E2E — real Fineract🎭 E2E Tests✅ All green — 171 passed · 0 failed · 0 skipped, across 50 spec files in 12m 6s. By spec file
All 171 tests — click to expand
Slowest 10 — what the shard counts should be tuned against
📼 Download the HTML report, videos and traces — see the Generated by run 40304726462 from |
🔄 What this change talks toFrom the 4 application TypeScript file(s) changed in this pull request. sequenceDiagram
autonumber
participant ClientFormComponent as ClientFormComponent (Component)
participant PlatformDateService as PlatformDateService (Injected)
participant OfficesService as OfficesService (API client)
participant Fineract as Fineract (REST API)
participant ClientService as ClientService (API client)
participant MutationOutcomeService as MutationOutcomeService (Injected)
participant I18N as I18N (Injected)
participant Router as Router (Injected)
participant ClientFamilyMemberFormComponent as ClientFamilyMemberFormComponent (Component)
participant ClientFamilyMemberService as ClientFamilyMemberService (API client)
participant LoanFormComponent as LoanFormComponent (Component)
participant LoanProductsService as LoanProductsService (API client)
ClientFormComponent->>PlatformDateService: today()
ClientFormComponent->>PlatformDateService: resolveToday()
ClientFormComponent->>OfficesService: getOffices()
OfficesService->>Fineract: getOffices()
Fineract-->>OfficesService: response
ClientFormComponent->>ClientService: getClientsClientId()
ClientService->>Fineract: getClientsClientId()
Fineract-->>ClientService: response
ClientFormComponent->>ClientService: postClientsClientId()
ClientService->>Fineract: postClientsClientId()
Fineract-->>ClientService: response
ClientFormComponent->>ClientService: putClientsClientId()
ClientService->>Fineract: putClientsClientId()
Fineract-->>ClientService: response
ClientFormComponent->>MutationOutcomeService: complete()
ClientFormComponent->>I18N: translate()
ClientFormComponent->>ClientService: postClients()
ClientService->>Fineract: postClients()
Fineract-->>ClientService: response
ClientFormComponent->>Router: navigate()
ClientFamilyMemberFormComponent->>ClientFamilyMemberService: getClientsClientIdFamilymembersTemplate()
ClientFamilyMemberService->>Fineract: getClientsClientIdFamilymembersTemplate()
Fineract-->>ClientFamilyMemberService: response
ClientFamilyMemberFormComponent->>ClientFamilyMemberService: getClientsClientIdFamilymembersFamilyMemberId()
ClientFamilyMemberService->>Fineract: getClientsClientIdFamilymembersFamilyMemberId()
Fineract-->>ClientFamilyMemberService: response
ClientFamilyMemberFormComponent->>ClientFamilyMemberService: putClientsClientIdFamilymembersFamilyMemberId()
ClientFamilyMemberService->>Fineract: putClientsClientIdFamilymembersFamilyMemberId()
Fineract-->>ClientFamilyMemberService: response
ClientFamilyMemberFormComponent->>Router: navigate()
ClientFamilyMemberFormComponent->>ClientFamilyMemberService: postClientsClientIdFamilymembers()
ClientFamilyMemberService->>Fineract: postClientsClientIdFamilymembers()
Fineract-->>ClientFamilyMemberService: response
LoanFormComponent->>PlatformDateService: today()
LoanFormComponent->>PlatformDateService: resolveToday()
LoanFormComponent->>Router: navigate()
LoanFormComponent->>LoanProductsService: getLoanproducts()
LoanProductsService->>Fineract: getLoanproducts()
Fineract-->>LoanProductsService: response
LoanFormComponent->>LoanProductsService: getLoanproductsProductId()
Truncated for readability: 9 further participant(s) and 3 further call(s) not shown.
Generated by run 40304726600 from |
|
@zhangxinyao88 please also add screen shots |
Create Client and Add Family Member now show “Not set” for an empty Date of Birth and offer a clear action after selection. Clearing after a rejected create also keeps the retry payload free of the old date. Client help describes the create wizard or the edit task, as appropriate. The latest review cleanup consolidates duplicate adapter imports without changing the component body.
Closes #747. The name-input validation associations reported there already work on main. Clearing an existing record’s DOB and constraining future birthdays remain outside this change; existing edit serialization is preserved.
Verification:
All requests and fixtures in local browser coverage are synthetic and mocked. No local real-backend, full browser, non-English browser, offline/container build or generated-client regeneration was run. Screenshots and video are saved by the focused specs for inspection.
Codex assisted with implementation and Vitest/Playwright verification. No generated API files or lint suppressions were hand-edited; commits are signed.
Screenshots
Captured with synthetic mocked data on the verified application head.
Untouched optional DOB, desktop1280×900:
Explicitly selected DOB and Clear action, phone390×844:
Empty family-member DOB (field capture):