62 lines
3.7 KiB
Markdown
62 lines
3.7 KiB
Markdown
# 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 "Staffing Agency")
|
|
* The "-None-" option should always remain present in the subtypes dropdown.
|
|
|
|
# Linked clients
|
|
* Client screen should have a button to add a linked client
|
|
* When you click it it should take you to a screen saying "Add linked client" with an autocomplete box
|
|
* Add One
|
|
* You should then see the linked client in the list on the original client's screen
|
|
* Clink on the linked client's name in the list and you should see that the original client is in the list of linked clients for it (i.e. it is a symmetrical relation)
|
|
* The delete link in the list should work, i.e. remove the linked client from the list
|
|
|
|
# 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 that should be the only option in the status dropdown.
|
|
|
|
# Automatic client status
|
|
## Tests for presave hook in goodnightout_opencase.module
|
|
|
|
* Setup a client with status "Lead" and give it multiple trainings - leave the training status as N/A.
|
|
* 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"
|
|
|
|
# Trainings linked to projects or clients
|
|
|
|
* Add a training from a client screen
|
|
* It should have the client filled in by default, and a box for the project
|
|
* Fill in a project and save
|
|
* On the training screen there should be a link to the project
|
|
* Click it to open the project, then add another training
|
|
* The project field should default to the project and there should be a box for the client
|
|
* Add a client and save
|
|
* There should be a link to the client on the project screen
|
|
* Click it and the project should be listed there
|
|
|
|
# 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 <client name>" 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
|
|
|
|
|
|
|
|
|