unignored docs folder

This commit is contained in:
naomi 2021-09-12 09:05:38 +01:00
parent 8536d5e749
commit b8c5a4cea2
4 changed files with 139 additions and 0 deletions

1
.gitignore vendored
View File

@ -5,3 +5,4 @@
!.gitignore
!config
!config/*
!docs/*

15
docs/deploy_changes.md Normal file
View File

@ -0,0 +1,15 @@
# How to deploy code and config changes
## Before deploying, ensure that on your local site:
* Both modules are fully committed and pushed
* Config is exported
* You have run `composer update`
* Composer repo is fully committed and pushed, including any new config files
## Deployment
* Pull the composer repo to the staging site (this should be CI when pushing to staging branch)
* `composer install`
* `drush config:import --source ../config`
* Test - see manual_tests.md
* Deploy to live by same method (this should be CI when pushing to live branch)

13
docs/install.md Normal file
View File

@ -0,0 +1,13 @@
# Installation
* Clone the repo
* `composer install`
* `mkdir web/sites/default/files`
* `chgrp www-data -R web`
* `chmod g+w -R web/sites/default/files`
* Create database & run the web installer (choose "Standard")
* drush config-set system.site uuid 8061a200-27ed-4d40-8fc0-e239276e66dd
* `drush config:delete shortcut.set.default`
* `drush config:import --source ../config`
* In the GUI go to Structure->Content As Config and import all the taxonomy terms
* Appearance->Settings->Bartik and just save what's in there (to regenerate css)

110
docs/manual_tests.md Normal file
View File

@ -0,0 +1,110 @@
# First
- Log in as a user with the role "GNO Standard User".
# Client & training & project
- Billing fields are not there at first but there is a button to add them and when you click it is adds them.
- Save the client without filling in any billing fields, then edit it - the fields should be gone and the button shoud be there
- Add one or more billing fields, save and edit - all the billing fields should show, and not the button.
- You can upload files, and when you save it you can view or download them.
- Client shows up on "all clients" list
- Searching for the client by name brings them up
- On the client screen there is a button to add a training
- Add training with 3 trainers:
- one with no rate (rate input should disappear), then change it to Standard and the box should appear and be disabled and grey and say 115, then change to custom and the box shuould clear and become editable, then input 400
- Add another trainer with "None" rate and one with Standard
- Save it, the trainers and rates should show , then when you edit it again the input box should be gone for the none one and disabled for the standard
- The training immediately shows up in the training list for that client
- It also appears in "All trainings", at the top
- Add a project and add multiple fees
- Save it and all the fees should be displayed
- The project should appear in the project list for the client and also in All Projects
# Umbrella client
- Choose menu item "Add new umbrella client" and add one
- Client shows up on "all umbrella clients" list
- There is a button on the umbrella client screen to add a client
- Adding a client creates one attached to that umbrella client and it immediately shows up in the client list for that umbrella client and also in "All clients", at the top of each
- You can add a project to the umbrella client and it appears at the top of the list on the umbrella client screen
- You can add a training to the umbrella client and it appears at the top of the list on the umbrella client screen
- Add a training to the client who is attached to the umbrella client. It should show up on the umbrella client screen in the "Trainings for clients within this umrella" list.
# Equal opps
- Should not be able to see the menu items for adding or listing EOs as GNO standard user
- Log in as the special user
- Create one
- It should appear in the All Equal Opps list
# Emergency contact
#
# 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
* Should not happen when client is saved without changing status
* Should not happen when status is changed to something else
# Number of participants
* Create a debrief for a training and fill in "Number of participants".
* The number should appear on the training when you view it.
* Edit the debreief - it should change the training too
* Create another - so should that
# Total fees on a project
* Create a project and add some fees
* When you view the project the total fee should be displayed
* Edit it and change a fee, delete a fee, add a fee
* The total should update
* The total should appear in the list of projects