* protect all paths in user.pre(save using this.isDirectSelected to see if a field is available
* fix linting
* authWithHeaders: specify user fields to exclude instead of the ones to include, add comments, doc and improve test
* add more options to unit helper generateReq and add tests for excluding fields in authWithHeaders
* remove removePunctuationFromString function from test code
It's not needed now that the test banned words don't contain underscores.
* prevent tests accidentally throwing messageGroupChatSpam
This commit makes the user for most tests have contributor tiers so
that the user can't trigger the messageGroupChatSpam error message
(for posting messages too quickly).
This is useful when some of the tests fail due to broken code
because that makes more messages be posted than expected. If the user
doesn't have tiers, the messageGroupChatSpam error message would be
triggered, which gives misleading information about the test failure.
* add tests for banned swear and slur words posted in mixed case
* allow banned word error message to show bad words in the same case the user typed them
* stop using randomly-chosen real banned words in tests
The test modified in this commit had been using real banned words,
which meant that those words were being displayed to the contributors
when the test failed.
NB the 'check all banned words are matched' test also uses the real
banned words but the test failure messages don't show the words.
* improve translatability of bannedWordUsed error message
* downcase updating an email to be consistent with creating
* add tests to ensure downcase of email for create/update
* create migration to downcase existing User objects
* delete 'only'
* change gmail to example
* add trailing comma from lint error
* search for emails with at least one capital letter
* fix query in order to search for any email with at least one capital letter
* batch process effected users with at least one capital in email
* update script for batch process effected users
* `/task/user` `GET` endpoint takes plurals of task types as allowed
parameters, plus another custom `completedTodos` type
* `/tasks/group/:groupId` and `/tasks/challenge/:challengeId`
`GET` endpoints task plurals of task types as allowed parameters
* Updated from origin and added invite error fixes
* Update test for capitalization issue
* New error display
Changed app.vue to display error message using error.response.data.message
* Removed challenge group duplication
* Removed duplication of joined challenge
* Moved helpers to challenge library
* Passed group to function
* Fixed group response