From 3784f68dd811ea49b6389e33f53a2e1b8c58fcec Mon Sep 17 00:00:00 2001 From: Victor Piousbox Date: Sun, 20 Mar 2016 02:32:55 +0000 Subject: [PATCH] mock for emailer for resetPassword route --- .../user/{auth => }/POST-user_reset_password.test.js | 8 +++----- website/src/controllers/api-v3/user.js | 3 +++ website/src/libs/api-v3/email.js | 10 +++++++--- 3 files changed, 13 insertions(+), 8 deletions(-) rename test/api/v3/integration/user/{auth => }/POST-user_reset_password.test.js (78%) diff --git a/test/api/v3/integration/user/auth/POST-user_reset_password.test.js b/test/api/v3/integration/user/POST-user_reset_password.test.js similarity index 78% rename from test/api/v3/integration/user/auth/POST-user_reset_password.test.js rename to test/api/v3/integration/user/POST-user_reset_password.test.js index e64e1332ea..b08642de17 100644 --- a/test/api/v3/integration/user/auth/POST-user_reset_password.test.js +++ b/test/api/v3/integration/user/POST-user_reset_password.test.js @@ -1,7 +1,7 @@ import { generateUser, translate as t, -} from '../../../../../helpers/api-integration/v3'; +} from '../../../../helpers/api-integration/v3'; describe('POST /user/reset-password', async () => { let endpoint = '/user/reset-password'; @@ -11,21 +11,19 @@ describe('POST /user/reset-password', async () => { user = await generateUser(); }); - /* it('resets password', async () => { let response = await user.post(endpoint, { email: user.auth.local.email, }); - expect(response).to.eql({code: 200, message: t('passwordReset')}); + expect(response).to.eql({ message: t('passwordReset') }); }); it('same message on error as on success', async () => { let response = await user.post(endpoint, { email: 'nonExistent@email.com', }); - expect(response).to.eql({code: 200, message: t('passwordReset')}); + expect(response).to.eql({ message: t('passwordReset') }); }); - */ it('errors if email is not provided', async () => { await expect(user.post(endpoint)).to.eventually.be.rejected.and.eql({ diff --git a/website/src/controllers/api-v3/user.js b/website/src/controllers/api-v3/user.js index 330b2739f3..9a23714c42 100644 --- a/website/src/controllers/api-v3/user.js +++ b/website/src/controllers/api-v3/user.js @@ -96,6 +96,9 @@ api.resetPassword = { middlewares: [], url: '/user/reset-password', async handler (req, res) { + + console.log('is prod is:', nconf.get('IS_PROD')); + req.checkBody({ email: { notEmpty: {errorMessage: res.t('missingEmail')}, diff --git a/website/src/libs/api-v3/email.js b/website/src/libs/api-v3/email.js index 65cbcce02a..6a7b2ac2ee 100644 --- a/website/src/libs/api-v3/email.js +++ b/website/src/libs/api-v3/email.js @@ -25,9 +25,13 @@ let smtpTransporter = createTransport({ // Send email directly from the server using the smtpTransporter, // used only to send password reset emails because users unsubscribed on Mandrill wouldn't get them export function send (mailData) { - return smtpTransporter - .sendMail(mailData) - .catch((error) => logger.error(error)); + if (IS_PROD) { + return smtpTransporter + .sendMail(mailData) + .catch((error) => logger.error(error)); + } else { + return { send: () => {} } // mock + } } export function getUserInfo (user, fields = []) {