Add _updateUser() function to update a user object in the database #10
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Why this change ?
When
_saveQuestion()
is invoked, it only updates thequestions
object. However, theusers
object should also be updated to add the newquestion
's id to theuser.questions
array.This Pull Request will include a new
_udapteUser()
function, that can be used to update a particularuser
object.The goal of creating a dedicated function instead of modifying the
_saveQuestion()
code directly is to insure backward compatibility with projects already using this file without requiring a change, and also, to make the function available for otheruser
updates when necessary such as thename
,password
,avatarURL
...etc.Changes Made
_updateUser(user)
that takes a complete user object, validates presence of required fields, returns a Promise resolving to the updated user, and maintain 500ms delay to keep consistancy with other functions.Example Usage
Related Documentation
Updated
README.md
with new _updateUser function documentation in the same format as the existing functions including required parameters.Testing:
Tested successfully using the following jest functions (see code bellow).
These tests cover the verification of:
The console output for these tests is shown bellow: