...
- copy over the simple 'dimensions' such as products, currencies, offices, personnels correctly
- handle being run against an initialised mifos database
- handle simple hierarchy (loan officer, center, group, client, loan/savings account) creation.
Involves handling new entries and catering for status changes when making groups, clients and accounts active. - handle when a client without a group membership is created and has its status changed and has a loan and a savings account.
- handle when a group without center hierarchy is created and has its status changed and has a client with a loan and a savings account and has its own savings and loan account as well.
- handle when a center has a savings account.
- handle moving a client from one group to another in the same center.
- handle moving a client from one group to another in the same branch
- handle moving a client from one group to another in a different branch
- handle removing group membership from a client.
- handle moving client with no group membership to another branch.
- handle a client with no group membership becoming a group member.
- handle a Loan Officer change for a client with no group membership.
- handle a Loan Officer change for a group with no hierarchy.
- handle moving group with no hierarchy from one branch to another.
- handle center change for a group to center in same branch
- handle center change for a group to center in different branch
- handle adding a group hierarchy back to a center
- should handle a Loan Officer change for a center
- All savings transactions should link to the latest savings account entry that is 'open' (active or inactive but not closed) for the date matching the transaction action_date.
- All repayment transactions should link to the latest loan account entry that is 'active' (good or bad standing)for the date matching the transaction action_date
- All write off transactions should link to the loan account entry having a loan writeoff status.
Write-off account_action_id is 15 - 'AccountAction-LoanWrittenOff' - All disbursal transactions should link to the latest loan account entry that is pre-active - 'AccountState-ApplicationApproved'standing or 'AccountState-DisbursedToLo
(which is probably not used and deprecated) for the date matching the transaction action_date
Issues Outstanding
MIFOS-3871 3871 - Data Warehouse doesnt handle removing group membership from a client.
MIFOS-3872 3872 - Data Warehouse - mifos doesnt currently audit group transfer (no center hierarchy) to another branch.
MIFOS-3873 3873 - Data Warehouse - mifos doesnt currently audit status change for group transfer (within a center hierarchy) to another branch
...
Requirement | Test | Result |
---|---|---|
Handle moving a client from one group to another in the same center. | Group: group dw1 1 - 0003-000000002 | Pass. Client entry added to reflect new group. and savings entry added to link to new client entry. |
Handle moving a client from one group to another in the same branch | Group: group dw1 1 - 0003-000000002 | Pass. Client entry added to reflect new group. and loan entry added to link to new client entry. |
Handle moving a client from one group to another in a different branch | Group: group dw1 1 - 0003-000000002 | Pass. Client entry added to reflect new group. and savings entry added to link to new client entry. |
Handle removing group membership from a client. | client: client remove group membership xxx 0003-000000050 | Fail. The data is ETL's but the outcome looks as if the client had not group membership from the start. |
Handle moving client with no group membership to another branch. | Client: client w/o gr memb xfer to branch xxx 0003-000000045 | Pass. Client and savings account show application of 'Loan Officer Assigned', 'Branch membership' |
Handle a client with no group membership becoming a group member. | Client: client add back to group hierarchy after xxx 0003-000000051 | Pass. |
Handle a Loan Officer change for a client with no group membership. | Client: client w/o grp memb hier LO change xxx 0003-000000044 | Pass. Client and Savings entries as expected. As LO change was done on same day as client and |
Handle a Loan Officer change for a group with no hierarchy. | Group: group w/o center hier LO change 0003-000000042 | Pass. Group, client and account entries as expected. As LO change was done on same day as |
Handle moving group with no hierarchy from one branch to another. | Group: group w/o center hier xfer branch 0003-000000046 | Fail. Mifos audit bug - should audit like moving a client to another branch but doesnt. |
Handle center change for a group to center in same branch | Group: group for change to center in same branch 0003-000000056 | Pass. |
Handle center change for a group to center in different branch | Group: group for change to center in diff branch 0003-000000057 | Pass (enough). However, there is a minor mifos audit BUG where the changing of status to on-hold is not audited. |
Handle adding a group hierarchy back to a center | Group: group going back to a center hier 0003-000000052 | Fail. Connected to MIFOS-3871 3871 |
Handle a Loan Officer change for a center | Center: center with a LO change 0003-000000032 | Pass. center, group & client customer entries good and associated accounts good. |
Transaction Tests
Requirement | Test | Result |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Requirement
All savings transactions should link to the latest savings account entry that is 'open' (active or inactive but not closed) for the date matching the transaction action_date
Notes
Loading Savings Transactions (deposits, withdrawals, adjustments and interest postings)
----------------------------------------------------------------------------------------------------------------------------------
These transactions need to be linked into a savings entry with an 'open' status (active or on-hold). When a savings account is closed then the savings entry status that matches the transaction action_date will be 'SavingsStatus-Closed'. We don't want to link to that closed status so, instead, the latest active entry for the action_date is used.I say latest rather that 'THE' because you can get multiple entries that were open for a particular day due to overlapping caused by a hierarchy change or just someone was playing silly beggars with the account 'edit status' functionality.
Test 1
Deposit 100 into savings account.
Result: Pass.
Test 2
On Notes:
Transactions are linked into account entries that are relevant to them at the action (or disbursal) date of the transaction - 'open' (savings), active (repayments) or pre-active (disbursals).
Requirement | Test | Result |
---|---|---|
All savings transactions should link to the latest savings account entry that is 'open' (active or inactive but not closed) for the date matching the transaction action_date. | 1. Deposit 100 into savings account. | Pass. |
| 2. On one day - deposit 100 into a savings account, make inactive, deposit another 100 (which makes it active) |
...
Pass. All deposits and withdraws link to the latest open (inactive in this case) entry for the savings account. |
...
All repayment transactions should link to the latest loan account entry that is 'active' (good or bad standing)for the date matching the transaction action_date |
...
transactions are account_action_id: |
...
1 |
...
. Disburse a loan and make a repayment (or two) |
...
Pass. |
|
...
2 |
...
. Disburse a loan and make a repayment (or two) and then repay early (which closes the account). All on same day. |
...
Pass. |
...
| 3. Disburse a loan and make a repayment (or two) and then repay early (which closes the account). Then adjust the account which reopens the loan. All on same day. |
...
Fail. No account_status_change_history entry was added by mifos so change from closed to active in good standing not identified. (is jira issue raised by sam birney - get later) |
...
| 4. Disburse a loan and make a repayment (or two). Adjust the loan to remove the last payment. |
...
Pass. | |
|
...
5 |
...
. Disburse a loan and make a repayment (or two). Reverse the loan. On the same day. |
...
Pass. |
...
All write off transactions should link to the loan account entry having a loan writeoff status. |
...
Disburse a loan and make a repayment (or two). Then write-off the loan. On the same day. |
...
Pass. | ||
|
|
|
Requirement
All reschedule transactions should link to the loan account entry having a loan rescheduled status.
Rescheduled account_action_id is 20 - 'AccountAction-LoanRescheduled'
...