Просмотр исходного кода

Return proper error from registration handler

James Allen 11 лет назад
Родитель
Сommit
93a088618a

+ 1 - 1
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)

+ 2 - 2
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)

+ 2 - 2
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

+ 1 - 1
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", ->