Customer Testing
ConfigurationContents::
Client Rules
ClientRules.CenterHierarchyExists: true
ProcessFlow Rules
ProcessFlow.ClientPendingApprovalStateEnabled: falseProcessFlow.GroupPendingApprovalStateEnabled: falseProcessFlow.LoanPendingApprovalStateEnabled: falseProcessFlow.SavingsPendingApprovalStateEnabled: false
Exploratory High Value UI Driven Test (Manual or through Selenium)
Create a Dataset with the following:
- at least one branch level office
- at least one active loan officer associated with branch level office
- at least one 'additional' mandatory field associated with center (from admin)
- at least one configurable field as mandatory (externalId) (from admin)
- at least one one-time fee applicable to centers
- at least one of each period type of period fees (weekly, monthly)
handle success case of:
Creating a center with all mandatory fields filled in along with optional fields (address, externalId, fees)
Automated Tests
Center Creation
- cannot create center with blank name
- cannot create center without assigned loan officer
- cannot create center without meeting
- cannot create center without mfi joining date
- cannot create center without a branch/office
- cannot create center with fee that does not match meeting period (weeekly/monthly)
- cannot create center with multiple instances of same periodic fee
- cannot create center with mandatory additional fields not populated
- can create center with minimal details (name, loan officer, meeting, MFI joining date(today), no address, no externalId, no fees)
- can create center with mfi joining date can be in the past
- can create center with mfi joining date can be in the future
- can create center with address
- can create center with externalId
- can create center with fee (that matches meeting period)
- can create center with with multiple instances of the same one-time fee
- can create center with name of already existing center (QUESTION: Is this expected?)
- can create center with an externalId that already exists for another center (QUESTION: Is this expected?)
- created by and created date details are stored on creation
- center goes into active state by default
- when center goes active for first time, customer activation date is populated with date
- when center is created, max child count is zero
NOTE: see CenterCreationTest.java_NOTE:_ see CenterCreationUsingCustomerServiceIntegrationTest.java
Center Update (Edit Center Details)
- cannot update center without mfi joining date
- cannot update center with mandatory additional fields not populated
- can update center with different loan officer
- NOTE: updating Center With Different LoanOfficer Updates All Children In Hierarchy Including Their Associated Loans Savings And CustomerAccounts
- can update center with different mfi joing date in past or future
- can update center with different details for optional fields (externalId, address, telephone)
- can update center with clients of center assigned to customer positions.
- update by and updated date details are stored on update
Center Update (Edit Meeting Schedule)
- can edit meeting schedule for center which stored new meeting details to be picked up by batch jobs overnight.
Given center is active
- cannot update center with no assigned loan officer
Given center is inactive
- cannot transition to active state when no loan officer is assigned
- can update center with no assigned loan officer
NOTE: see CenterUpdateTest.java_NOTE:_ see CenterUpdateUsingCustomerServiceIntegrationTest.java_NOTE:_ see CenterHierarchyCustomerServiceIntegrationTest.java
Audit Logging (Change Logs)
is tracked for changes to
- center status
- assigned loan officer
Group Creation (in a Center Hierarchy)
- cannot create group with blank name
- cannot create group without formed by personnel assigned
- cannot create group without assigned loan officer
- cannot create group without meeting
- cannot create group without a branch/office
- cannot create group without a parent center
- cannot create group with name that already exists for given branch/office
- cannot create group with fee that does not match meeting period (weeekly/monthly)
- cannot create group with multiple instances of same periodic fee
- cannot create group with mandatory additional fields not populated
- can create group with minimal details (name, loan officer, meeting, no address, no externalId, no fees)
- can create group with address
- can create group with externalId
- can create group with fee (that matches meeting period)
- can create group with with multiple instances of the same one-time fee
- can create group with an externalId that already exists for another group (QUESTION: Is this expected?)
TO BE DONE
for center creation and update
Automate as UI tests
- center with one (or more) field configurations set as mandatory
- center with one (or more) hidden field configurations
NOTE: (for center use externalId or address.line1 etc)
Automate as integrated tests - center with one (or more) mandatory additional fields
- center with one (or more) non-mandatory additional fields