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,8 +18,16 @@ class User
})
login: (callback = (error) ->) ->
@ensureUserExists (error) =>
return callback(error) if error?
@getCsrfToken (error) =>
return callback(error) if error?
@request.post {
url: "/login"
json: { @email, @password }
}, callback
ensureUserExists: (callback = (error) ->) ->
filter = {@email}
options = {upsert: true, new: true, setDefaultsOnInsert: true}
UserModel.findOneAndUpdate filter, {}, options, (error, user) =>
@ -30,10 +38,7 @@ class User
@_id = user?._id?.toString()
@first_name = user?.first_name
@referal_id = user?.referal_id
@request.post {
url: "/login"
json: { @email, @password }
}, callback
callback(null, @password)
logout: (callback = (error) ->) ->
@getCsrfToken (error) =>
@ -212,6 +217,14 @@ class User
return callback(error) if error?
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