Update User acceptance test helper to expose methods for modules

This commit is contained in:
James Allen 2018-01-24 16:56:31 +00:00
parent 08593f1f4b
commit 626f652c77

View file

@ -18,22 +18,27 @@ class User
}) })
login: (callback = (error) ->) -> login: (callback = (error) ->) ->
@getCsrfToken (error) => @ensureUserExists (error) =>
return callback(error) if error? return callback(error) if error?
filter = {@email} @getCsrfToken (error) =>
options = {upsert: true, new: true, setDefaultsOnInsert: true}
UserModel.findOneAndUpdate filter, {}, options, (error, user) =>
return callback(error) if error? return callback(error) if error?
AuthenticationManager.setUserPassword user._id, @password, (error) => @request.post {
return callback(error) if error? url: "/login"
@id = user?._id?.toString() json: { @email, @password }
@_id = user?._id?.toString() }, callback
@first_name = user?.first_name
@referal_id = user?.referal_id ensureUserExists: (callback = (error) ->) ->
@request.post { filter = {@email}
url: "/login" options = {upsert: true, new: true, setDefaultsOnInsert: true}
json: { @email, @password } UserModel.findOneAndUpdate filter, {}, options, (error, user) =>
}, callback return callback(error) if error?
AuthenticationManager.setUserPassword user._id, @password, (error) =>
return callback(error) if error?
@id = user?._id?.toString()
@_id = user?._id?.toString()
@first_name = user?.first_name
@referal_id = user?.referal_id
callback(null, @password)
logout: (callback = (error) ->) -> logout: (callback = (error) ->) ->
@getCsrfToken (error) => @getCsrfToken (error) =>
@ -212,6 +217,14 @@ class User
return callback(error) if error? return callback(error) if error?
callback(null, response.statusCode) callback(null, response.statusCode)
isLoggedIn: (callback = (error, loggedIn) ->) ->
@request.get "/user/personal_info", (error, response, body) ->
return callback(error) if error?
if response.statusCode == 200
return callback(null, true)
else if response.statusCode == 302
return callback(null, false)
else
return callback(new Error("unexpected status code from /user/personal_info: #{response.statusCode}"))
module.exports = User module.exports = User