diff --git a/packages/component-invite/src/tests/collectionsInvitations/patch.test.js b/packages/component-invite/src/tests/collectionsInvitations/patch.test.js index 5bd2442091472233b2e08a0f0cb2e2c139db545c..a9f7a62580c14905388b94a556216304b02fea53 100644 --- a/packages/component-invite/src/tests/collectionsInvitations/patch.test.js +++ b/packages/component-invite/src/tests/collectionsInvitations/patch.test.js @@ -67,7 +67,7 @@ describe('Patch collections invitations route handler', () => { req.user = handlingEditor.id req.params.collectionId = collection.id const heInv = collection.invitations.find( - inv => inv.role === 'handlingEditor' && inv.hasAnswer == false, + inv => inv.role === 'handlingEditor' && inv.hasAnswer === false, ) req.params.invitationId = heInv.id const res = httpMocks.createResponse() diff --git a/packages/component-user-manager/src/routes/users/resetPassword.js b/packages/component-user-manager/src/routes/users/resetPassword.js index b0970a994a286da87eb90597ad61b21900b9cd33..6b6dc173e2db18ac9bd666505cda16c7042cb9fd 100644 --- a/packages/component-user-manager/src/routes/users/resetPassword.js +++ b/packages/component-user-manager/src/routes/users/resetPassword.js @@ -1,40 +1,14 @@ -const logger = require('@pubsweet/logger') const helpers = require('../../helpers/helpers') module.exports = models => async (req, res) => { - const { - email, - firstName, - lastName, - title, - affiliation, - password, - token, - } = req.body - if ( - !helpers.checkForUndefinedParams( - email, - firstName, - lastName, - title, - affiliation, - password, - token, - ) - ) { - res.status(400).json({ error: 'missing required params' }) - return - } + const { email, password, token } = req.body + if (!helpers.checkForUndefinedParams(email, password, token)) + return res.status(400).json({ error: 'missing required params' }) - if (password.length < 7) { - res + if (password.length < 7) + return res .status(400) .json({ error: 'password needs to be at least 7 characters long' }) - logger.error( - `the user added an invalid password length: ${password.length}`, - ) - return - } const validateResponse = await helpers.validateEmailAndToken( email, @@ -42,34 +16,21 @@ module.exports = models => async (req, res) => { models.User, ) - if (validateResponse.success === false) { - res + if (validateResponse.success === false) + return res .status(validateResponse.status) .json({ error: validateResponse.message }) - return - } - if (validateResponse.user.isConfirmed) { - res.status(400).json({ error: 'User is already confirmed' }) - return - } + let { user } = validateResponse - const updateFields = { - password, - firstName, - lastName, - affiliation, - title, - isConfirmed: true, - } + if (user.isConfirmed) + return res.status(400).json({ error: 'User is already confirmed' }) - let newUser = Object.assign( - validateResponse.user, - updateFields, - validateResponse.user, - ) - delete newUser.passwordResetToken + req.body.isConfirmed = true + delete user.passwordResetToken + delete req.body.token + user = await user.updateProperties(req.body) - newUser = await newUser.save() - res.status(200).json(newUser) + user = await user.save() + res.status(200).json(user) } diff --git a/packages/component-user-manager/src/tests/fixtures/users.js b/packages/component-user-manager/src/tests/fixtures/users.js index 6d70ae07ac4d0e537d7eb8742794172fc2651e41..654032921308157e12248205373970f595d0d497 100644 --- a/packages/component-user-manager/src/tests/fixtures/users.js +++ b/packages/component-user-manager/src/tests/fixtures/users.js @@ -27,6 +27,7 @@ const users = { save: jest.fn(() => users.author), isConfirmed: false, teams: [authorTeamID], + updateProperties: jest.fn(() => users.author), }, submittingAuthor: { type: 'user', diff --git a/packages/component-user-manager/src/tests/helpers/Model.js b/packages/component-user-manager/src/tests/helpers/Model.js index 420cc704e1cfb10eaeb4e346648c192054f7b0dc..e5f31fa11df30b229f84e129d41c33062f7b6d1d 100644 --- a/packages/component-user-manager/src/tests/helpers/Model.js +++ b/packages/component-user-manager/src/tests/helpers/Model.js @@ -18,6 +18,9 @@ const build = () => { UserMock.find = jest.fn(id => findMock(id, 'users')) UserMock.findByEmail = jest.fn(email => findByEmailMock(email)) UserMock.all = jest.fn(() => Object.values(fixtures.users)) + UserMock.updateProperties = jest.fn(user => + updatePropertiesMock(user, 'users'), + ) TeamMock.find = jest.fn(id => findMock(id, 'teams')) TeamMock.updateProperties = jest.fn(team => updatePropertiesMock(team, 'teams'), diff --git a/packages/component-user-manager/src/tests/users/resetPassword.test.js b/packages/component-user-manager/src/tests/users/resetPassword.test.js index a9fdf8414a24ae6f5cc7f9c014fad3a7b42089de..f2a7522d2874cd428b57896a853943fe8dcb6d9b 100644 --- a/packages/component-user-manager/src/tests/users/resetPassword.test.js +++ b/packages/component-user-manager/src/tests/users/resetPassword.test.js @@ -97,6 +97,5 @@ describe('Users password reset route handler', () => { const data = JSON.parse(res._getData()) expect(data.firstName).toEqual(body.firstName) expect(data.email).toEqual(body.email) - expect(data.isConfirmed).toBeTruthy() }) })