2.6 KiB
2.6 KiB
Adding new client using the GUI
Tests for GUI settings
- When adding a new client in the GUI, the status should default to Lead and the substatus to New Lead. (Setting: default values for those fields.)
- Neither the status nor the substatus dropdown should not contain a placeholder option such as "None" or "Select". (Setting: Required field)
Tests for JS code in js/edit_client.js
- If you change the substatus, the status should automatically change accordingly (e.g. "One-off Training" -> "Confirmed", or "3-month follow-up due" -> "Accredited").
- You should not be able to change the status except by changing the substatus.
- Initially the client type should be "-None-" and the only thing in the subtypes dropdown should be "-None-" also.
- If you change the client type, the options in the subtype dropdown should populate accordingly (e.g. "Licensed Premises" -> a list including "Pub or Bar", or "Nightlife Organisation" -> a list including "Festival" and "Student Union")
- The "-None-" option should always remain present in the subtypes dropdown.
Editing a client using the GUI
Tests for JS code in js/edit_client.js
- The subtypes dropdown should be populated according to the existing value of the types dropdown. E.g. save a client as "licensed premises" type and reopen; the subtypes should be a list including "Pub or Bar"
- The status dropdown should be populated according to the existing value of the substatuses dropdown. E.g. save a client as substatus "One-off Training" and reopen; the status should be set to "Confirmed" and it should not be possible to change it.
Automatic client status
Tests for presave hook in goodnightout_opencase.module
- Setup a client with status "Lead" and give it multiple trainings
- Set some but not all of the trainings to status "post training materials sent"
- The status of the client should not change
- Set all the remaining trainings to status "post training materials sent"
- This should automatically set the client status to "Accredited" and their substatus to "Recently Accredited"
Email notification
Tests for mail hook and post-save hook in goodnightout_opencase.module
- Change a client's status from something else to "3-month followup due" - the site admin should receive an email about it with "3-month followup due for " as the subject and a link to the client in the body
- Same for 6-month
- Same for the substatus that is just "follow-up due"
- Should not happen when client is saved without changing status
- Should not happen when status is changed to something else
- Create new clients with those substatuses - notification should happen