From 93a088618a6afec2997986ae08ebed2055d284e0 Mon Sep 17 00:00:00 2001 From: James Allen Date: Wed, 18 Mar 2015 16:19:48 +0000 Subject: [PATCH] Return proper error from registration handler --- services/web/app/coffee/Features/User/UserController.coffee | 2 +- .../app/coffee/Features/User/UserRegistrationHandler.coffee | 4 ++-- .../web/test/UnitTests/coffee/User/UserControllerTests.coffee | 4 ++-- .../UnitTests/coffee/User/UserRegistrationHandlerTests.coffee | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/services/web/app/coffee/Features/User/UserController.coffee b/services/web/app/coffee/Features/User/UserController.coffee index 2e8ffd4bb6..f2af08f703 100644 --- a/services/web/app/coffee/Features/User/UserController.coffee +++ b/services/web/app/coffee/Features/User/UserController.coffee @@ -84,7 +84,7 @@ module.exports = logger.log email: req.body.email, "attempted register" redir = Url.parse(req.body.redir or "/project").path UserRegistrationHandler.registerNewUser req.body, (err, user)-> - if err == "EmailAlreadyRegisterd" + if err? and err?.message == "EmailAlreadyRegistered" return AuthenticationController.login req, res else if err? next(err) diff --git a/services/web/app/coffee/Features/User/UserRegistrationHandler.coffee b/services/web/app/coffee/Features/User/UserRegistrationHandler.coffee index addcd2d73f..cae6483b0f 100644 --- a/services/web/app/coffee/Features/User/UserRegistrationHandler.coffee +++ b/services/web/app/coffee/Features/User/UserRegistrationHandler.coffee @@ -39,13 +39,13 @@ module.exports = self = @ requestIsValid = @_registrationRequestIsValid userDetails if !requestIsValid - return callback("request is not valid") + return callback(new Error("request is not valid")) userDetails.email = userDetails.email?.trim()?.toLowerCase() User.findOne email:userDetails.email, (err, user)-> if err? return callback err if user?.holdingAccount == false - return callback("EmailAlreadyRegisterd") + return callback(new Error("EmailAlreadyRegistered")) self._createNewUserIfRequired user, userDetails, (err, user)-> if err? return callback(err) diff --git a/services/web/test/UnitTests/coffee/User/UserControllerTests.coffee b/services/web/test/UnitTests/coffee/User/UserControllerTests.coffee index 0fab848028..6af4e53072 100644 --- a/services/web/test/UnitTests/coffee/User/UserControllerTests.coffee +++ b/services/web/test/UnitTests/coffee/User/UserControllerTests.coffee @@ -173,9 +173,9 @@ describe "UserController", -> done() @UserController.register @req, @res - it "should try and log the user in if there is an EmailAlreadyRegisterd error", (done)-> + it "should try and log the user in if there is an EmailAlreadyRegistered error", (done)-> - @UserRegistrationHandler.registerNewUser.callsArgWith(1, "EmailAlreadyRegisterd") + @UserRegistrationHandler.registerNewUser.callsArgWith(1, new Error("EmailAlreadyRegistered")) @AuthenticationController.login = (req, res)=> assert.deepEqual req, @req assert.deepEqual res, @res diff --git a/services/web/test/UnitTests/coffee/User/UserRegistrationHandlerTests.coffee b/services/web/test/UnitTests/coffee/User/UserRegistrationHandlerTests.coffee index b9d33f7ca7..3a7b75441f 100644 --- a/services/web/test/UnitTests/coffee/User/UserRegistrationHandlerTests.coffee +++ b/services/web/test/UnitTests/coffee/User/UserRegistrationHandlerTests.coffee @@ -87,7 +87,7 @@ describe "UserRegistrationHandler", -> it "should return email registered in the error if there is a non holdingAccount there", (done)-> @User.findOne.callsArgWith(1, null, {holdingAccount:false}) @handler.registerNewUser @passingRequest, (err)=> - err.should.equal "EmailAlreadyRegisterd" + err.should.deep.equal new Error("EmailAlreadyRegistered") done() describe "validRequest", ->