Payment Plan Test Plan
Phase 1
Test Case | Description | Expected Result | Test Result | Comments | |
---|---|---|---|---|---|
1.1 Recurring Contributions for Membership Payments | |||||
1 | Test recurring contributions with webform for first time membership signup | Test with each recurring unit and payment processor (Offline Recurring Contribution)
| Number of recurring contributions created should be same as number of instalments Contribution status should be 'Pending' Each contribution total amount should be "membership duration / no. of instalments * membership fee" Membership created should be made active (new or current status) and have the full membership duration once the first contribution is completed Each contribution should have its own invoice. Amount in invoice should reflect the contribution amount for each instalment. Membership line item is shown as a percentage of the membership term (100 / no. of instalments) | P | |
2 | Complete all contributions | Membership duration should not get affected | P | ||
3 | If sales tax is involved then the installment amount should include the tax amount split by no. of installments | Each contribution total amount should be "membership duration / no. of instalments * membership fee (with tax)" Invoice should reflect the tax amount correclty | P | ||
4 | If there are pricesets then the payment plan should still show the contribution amounts for the price fields correclty. If there is tax then should show that correctly as well | Price fields should show the unit prices and tax amounts seperately like with any contribution made with pricesets (check default Civi behaviour for contribution payments with pricesets and tax) Invoice should reflect the price fields and tax amount correclty | P | ||
1.2 Membership Status Override | |||||
5 | Check the new options in
| Following options available:
| P | ||
6 | Check if the 3 options work as expected | Membership status correctly reflects back on membership page:
| P | ||
7 | Test if "Update Membeship Statuses" scheduled job also processes the new option 'Override until selected date' | Once the selected data has passed the job should change status override option to No | P | Scheduled job will not process overridden status set to either 'Expired, Pending or Cancelled'. So once the job is run it switches to 'No' but these statuses will not follow membership status rules. | |
8 | Check the new options in webform config page | "Status Override" dropdown added with following options in webform membership config section:
"Statue Override Until" checkbox added and if selected datepicker available | P | ||
9 | Check if any of the 3 options are selected in webform they work as expected | Select any one option directly from the webform config | P | ||
10 | Check "- User Select -" option | Set this field as hidden/ready only and use conditionals to select any one of the other 3 options (Ex: when the membership selected is general set the Status Override to be "Override until selected date") | When "- User Select -" is selected, a "Status Override" select field will be added to the webform with all 3 options According to conditionals the correct option should be selected and appropriate status reflected back in membership page on civicrm side | P | |
1.3 Membership Offline Auto Renew | |||||
11 | Test membership auto renewal | Test with payment processor "Offline Recurring Contribution" and payment in instalments | Recurring contribution with total amount as "membership duration / no. of instalments * membership fee" should be created Instalments = no. of instalments selected Contribution status should be 'Pending' Auto renew = True Membership created should be made active (new or current status) and have the full membership duration once the first contribution is completed | ||
12 | Test with payment processor "Offline Recurring Contribution" and one time payment | Recurring contribution with full membership fee will be created Instalments = Null Contribution status should be 'Pending' Auto renew = True Membership created should be made active (new or current status) and have the full membership duration once the first contribution is completed | |||
13 | New scheduled job "Renew offline auto-renewal memberships" is available and processes memberships | If the membership qualifies the following conditions, renew: | Memberships that satisfy the conditions are renewed | P | |
14 | Contribution with no instalments | If last contribution has no instalments a new contribution with pending status should be created under the recurring contribution | P | ||
15 | Contribution with instalments |
| P | ||
16 | Check the new field and options in webform config page | New "Auto-renew Option" added to webform with options in webform membership config section:
| |||
17 | Check if any of the 3 options are selected in webform they work as expected | Membership created on civicrm side should reflect the auto renewal status:
| |||
1.4 Membership Status Rule | |||||
18 | New membership status rules available for start and end event | Start Event "Membeship is in arrears (Payment Plan)" and End Event "Membership is no longer in arrears (Payment Plan)" is available Note: 'In Arrears' needs to be the first one on the list on membership status rules page. | P | ||
19 | Test if admin can create a new status rule with the new events | P | |||
20 | Start Event "Membership is in arrears (Payment Plan)" is triggered once conditions are satisfied |
| P | ||
21 | End Event Membership is no longer in arrears (Payment Plan)" is triggered once conditions are satisfied |
| P | ||
22 | Admin should be able to set "Start Event Adjustment" to specify how long before an instalment contribution is classfied as overdue. | P | |||
23 | Check the Membership Status transition to "In Arrears" from other statuses. | Transition does not happen for Expired, Pending, Cancelled to "In Arrears" Transition should happen for New, Current, Grace to "In Arrears" | P | ||
24 | Check when there is a status override (Override Permanently or Override until selected date) the membership status rules don't apply | If "Override Permanently" is selected the membership status rules don't apply at any time If "Override until selected date" is selected the membership status rules don't apply until set date Ex: Set the membership status to have "Override until selected date" for 30 days. Once paid, the override is switched to No. If not paid after 30 days the above "Membership is in arrears" rule will apply | P |
Phase 2
Test Case | Description | Expected Result | Test Result | Comments | |
---|---|---|---|---|---|
2.1 Admin Membership pages with Payment Plan | |||||
1 | Add new membership page | Status override field | Following options available:
| P | |
2 | Payment section | Two tabs available:
| P | ||
3 | Contribution section | Same behaviour as now. Single contribution created | P | ||
4 | Payment plan section | Following fields available:
| P | ||
5 | "Auto-renew offline" | Checkbox available above contribution and payment plan section | P | ||
6 | Test new membership creation from new membership page | Repeat TC1,2,3,4 | Same as Phase1-TC1,2,3,4 | P | |
7 | Test new membership creation from contact-membership tab | Repeat TC1,2,3,4 | Same as Phase1-TC1,2,3,4 | P | |
8 | Test new membership creation from new membership page with a financial type using sales tax | P | |||
9 | Test new membership creation from new membership page with membership pricesets | P | |||
10 | Test auto renew in new membership page | With Contribution section | Single contribution created with auto renew = Yes | P | |
11 | With Payment plan section | Recurring contribution created with installments and auto renew = Yes. Contributions created will be same no. of instalment and status 'Pending' | P | ||
12 | Test membership renewal from contact-membership tab | P | |||
13 | Test membership renewal from new membership page with sales tax | P | |||
14 | Test membership renewal from new membership page with pricesets | P | |||
15 | Check "Auto-renew offline" in renewal page | For a membership that is already set to auto-renew | Checbox not selectable and crossmark shown with message: "This membership is aleady set up to auto-renew. You can still choose to make an additional payment below" | P | |
16 | For a membership that is not set to auto-renew | P | |||
2.2 Payment Plan Information | |||||
17 | Membership view modal | "Related Contributions" accordion renamed to "Related Contributions and Payment Plans" | P | ||
18 | Contribution table |
| P | ||
19 | Payment plan table |
| |||
20 | Check if each column in payment plan table represent the correct value |
| |||
21 | Contribution view modal | "Recurring Contribution" modal renamed to "View Payment Plan" | |||
22 | Following fields available:
Contribution accordion added and lists all contributions linked to this payment plan | ||||
23 | Check if each column in view payment plan represent the correct value |
| |||
24 | Contact page contribution tab | Two tabs available:
| |||
25 | Contribution tab |
| |||
26 | Payment plan tab | Shows two sections:
Table structure follows TC16 |
Phase 3
Test Case | Description | Expected Result | Test Result | Comments | |
---|---|---|---|---|---|
3.1 Operations on existing payment plans | |||||
1 | Update payment plan |
| P | ||
2 | Cancel existing payment plan |
| In-progress | BASW-113 Auto-refresh is not happening | |
3 | Set Membership to Override Permanently = Cancelled if;
| P | |||
4 | Make sure cancelling a installment contribution does not cancel the linked membership | ||||
5 | BASW-123- Cancelling a installment contribution should not cancel the linked membership | When a contribution a membership is linked to gets cancelled and there isn't any other completed contribution , Membership should get cancelled for Recurring Contribution using Offline Payment |
| ||
6 | When a contribution a membership is linked to gets cancelled and when a payment plan is in place(Status other than 'Completed'), membership should get cancelled for Recurring Contribution using Offline Payment | ||||
7 | When a contribution a membership is linked to gets cancelled and there isn't any other completed contribution , Membership should get cancelled for Recurring Contribution using other non-offline Payment | ||||
8 | When a contribution a membership is linked to gets cancelled and when a payment plan is in place(Status other than 'Completed'), membership should NOT get cancelled for Recurring Contribution using other non-offline Payment | ||||
3.2 Membership Price Update | |||||
9 | Update membership fee when offline auto-renew |
| P | ||
10 |
| P | |||
11 | Offline auto-renew option |
| P | ||
12 |
| P | |||
13 | BASW-211- Payment plan settings - custom group to be excluded when auto-renew | Validation of new setting "Custom group to be excluded when auto-renew" in "Payment Plan Settings" menu available. | Ticket details are not available in functional spec. | ||
14 | The setting should be a auto-complete multi-select field with all enabled contribution custom group as options. | ||||
15 | If a custom group is selected and saved into this setting, when a membership auto-renews, the values in that custom group fields will not be copied over to the new contributions | ||||
16 | This applies to the renewal for both payment plans in instalments and payment plans not in instalments. | ||||
17 | Validate the use help Text provided | ||||
18 | Validate whether only enabled Custom Groups are displayed in the setting | ||||
3.3 Line Item Edit | |||||
19 | Permissions |
| P | ||
20 | Offline Recurring Contribution Line Item Table | Db table "membershipextras_subscription_line" created upon installation of extension. Following table fields created
| P | https://compucorp.atlassian.net/browse/BASW-206 | |
21 | Create Line Item for Offline Recurring Contribution and create reference | When a payment plan with payment manual class is created. |
| P | https://compucorp.atlassian.net/browse/BASW-206 |
22 | BASW-212- View/Modify Future Instalments action - current period | Action buttons |
| P | |
23 | Row items | Following two conditions have to be met:
| P | ||
24 | Each row contains:
| P | |||
25 | Action buttons within "Manage Instalments" pop |
| P | ||
26 | Bottom of tab |
| P | https://compucorp.atlassian.net/browse/BASW-212 | |
27 | If the number of instalments of the payment plan is empty or 0, "membershipextras_subscription_line" with an end date should also be excluded from the view | How to validate this? As it is not possible to have 0 installaments while creating membership. When checked with 1 installement, popup is working as usual | |||
28 | Validate the above steps for a recurring contribution in 'Pending Status | P | |||
29 | Validate the above steps for a recurring contribution in 'Completed' Status | In-progress | Observation: For Member 'Alan Jones, Membership details are blank though it has recurring contribution with the status as 'Completed' Member Sheela S - Recurring Contribution with Completed status - Showing blank membership details in the popup - Auto Renewed next year contribution is also blank | ||
30 | Validate the above steps for a recurring contribution in 'In-Progress' Status | P | |||
31 | When a line was added on next period, it should not show on current period | P | |||
32 | BASW-217-View/Modify Future Instalments action - next period | Next period tab shows up if recurring contribution has autorenewal. If not do not show auto renewal | P | ||
33 |
| P | |||
34 | Each line item row has following details:
| P | |||
35 | Action buttons |
| P | ||
36 | Bottom of tab |
| P | ||
37 | Remove line item - Current Period | On delete operation:
| P | https://compucorp.atlassian.net/browse/BASW-218 | |
38 | Remove modal components |
| P | https://compucorp.atlassian.net/browse/BASW-218 | |
39 | Action buttons - Apply |
| P | https://compucorp.atlassian.net/browse/BASW-218 | |
40 |
| P | https://compucorp.atlassian.net/browse/BASW-218 | ||
41 | If pending instalments with "Received date" => end_date:
| P | https://compucorp.atlassian.net/browse/BASW-218 | ||
42 | If membership line item removed:
| P | https://compucorp.atlassian.net/browse/BASW-218 | ||
43 | Following notices appear on successful removal:
| P | https://compucorp.atlassian.net/browse/BASW-218 | ||
44 | Line items updated on Current Period screen
| P | https://compucorp.atlassian.net/browse/BASW-218 | ||
45 | Action buttons - Cancel | No line item removed | P | https://compucorp.atlassian.net/browse/BASW-218 | |
46 | Remove line item - Next Period | On delete operation: Modal with title "Remove <line item label> as title | P | https://compucorp.atlassian.net/browse/BASW-219 | |
47 | Remove modal components |
| P | https://compucorp.atlassian.net/browse/BASW-219 | |
48 | Action buttons - Apply |
| In progress | https://compucorp.atlassian.net/browse/BASW-219 Pending fix & issues | |
49 | Recurring contribution and membership gets updated to show Auto Renew = No | P | https://compucorp.atlassian.net/browse/BASW-219 | ||
50 | Action buttons - Cancel |
| P | https://compucorp.atlassian.net/browse/BASW-219 | |
51 | Renew automatically unchecked in Current Period tab |
| In-progress | https://compucorp.atlassian.net/browse/BASW-219 | |
52 | Keep the Next Period tab even if all the line items with “auto_renew“ = 1 are removed when the last line item is removed from Next period | Yet to be fixed | |||
53 | Auto renew flag from the membership gets removed and the same should reflect in the recurring contribution view page | Open issue | |||
54 | Likewise when you add a Auto Renew flag from the recurring contribution edit modal (Recurring Contributions → Edit → check Auto Renew) then it does not update the Renew Automatically checkbox and Next Period tab. | Open issue | |||
55 | Add membership line item - Current Period | + Add Membership | New row with following items:
| In progress | https://compucorp.atlassian.net/browse/BASW-220 |
56 |
| P | https://compucorp.atlassian.net/browse/BASW-220 | ||
57 | Confirm Action (check icon) | If check icon clicked:
| P | https://compucorp.atlassian.net/browse/BASW-220 | |
58 | Cancel Action (cross icon) | If cross icon clicked the row should be removed and no change done | P | https://compucorp.atlassian.net/browse/BASW-220 | |
59 | Apply Action on dialog |
| In-progress | https://compucorp.atlassian.net/browse/BASW-220
| |
60 | Cancel Action on dialog | No change | P | https://compucorp.atlassian.net/browse/BASW-220 | |
61 | Add other line item - Current Period | + Add Other Amount | New row with following items:
| https://compucorp.atlassian.net/browse/BASW-221 | |
62 |
| https://compucorp.atlassian.net/browse/BASW-221 | |||
63 | Confirm Action (check icon) | If check icon clicked:
| https://compucorp.atlassian.net/browse/BASW-221 | ||
64 | Cancel Action (cross icon) | If cross icon clicked the row should be removed and no change done | P | https://compucorp.atlassian.net/browse/BASW-221 | |
65 | Apply Action on dialog |
| In progress | https://compucorp.atlassian.net/browse/BASW-221 | |
66 | Cancel Action on dialog | No change | P | https://compucorp.atlassian.net/browse/BASW-221 | |
67 | Add membership line item - Next Period | + Add Membership | New row with following items:
| In progress | https://compucorp.atlassian.net/browse/BASW-222 Two open issues related to Financial Type & Tax% |
68 |
| P | https://compucorp.atlassian.net/browse/BASW-222 | ||
69 | Cancel Action (cross icon) | If cross icon clicked the row should be removed and no change done | P | https://compucorp.atlassian.net/browse/BASW-222 | |
70 | Confirm Action (check icon) | When user clicked on the check icon, a dialog with title "Add <line_item_label>?" should appear with the following components:
| P | https://compucorp.atlassian.net/browse/BASW-222 | |
71 | Apply action on dialog |
| P | https://compucorp.atlassian.net/browse/BASW-222 | |
72 | Cancel action on dialog | Action cancelled and no change is made. | P | https://compucorp.atlassian.net/browse/BASW-222 | |
73 | User can also check "Renew automatically" field for any of membership lines in "Current period" tab to perform the same action. |
| P | https://compucorp.atlassian.net/browse/BASW-222 Pending issues | |
74 | Cases 46,47,48 should apply if | https://compucorp.atlassian.net/browse/BASW-222 | |||
75 | Add other line item - Next Period | + Add Other Amount | New row with following items:
| P | https://compucorp.atlassian.net/browse/BASW-223 Open Issues |
76 |
| P | https://compucorp.atlassian.net/browse/BASW-223 | ||
77 | Cancel Action (cross icon) | If cross icon clicked the row should be removed and no change done | P | https://compucorp.atlassian.net/browse/BASW-223 | |
78 | Confirm Action (check icon) | When user clicked on the check icon, a dialog with title "Add <line_item_label>?" should appear with the following components:
| P | https://compucorp.atlassian.net/browse/BASW-223 | |
79 | Apply action on dialog |
| P | https://compucorp.atlassian.net/browse/BASW-223 Line item with empty contribution_id created in civicrm_line_item - Not working | |
80 | Cancel action on dialog | Action cancelled and no change is made. | P | https://compucorp.atlassian.net/browse/BASW-223 | |
81 | User can also check "Renew automatically" field for any of other amount lines in "Current period" tab to perform the same action. | Test cases 61 to 63 also apply here. | P | https://compucorp.atlassian.net/browse/BASW-223 Open observations in 'Renew-Automatically' field logic | |
82 | Error validation | Error message validation for missing fields & the display | In progress | Open observation | |
83 | Validate if user is add same line item row with same values(Duplicate entry | In progress | Open observation |
"membershipextras_subscription_line" - Start date is the start of line item, End date is end of line item (when its removed from order)
End date on the UI is the largest in all the linked memberships
Line Item removal:
Removing a line item from manage instalment screen removes it from that modal, but check what happens to the contribution instalment.
Auto renew adjustment:
What will happen if the scheduled job is run?