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