From 626f652c771fda6ca2bdc31cb2419302bae117ec Mon Sep 17 00:00:00 2001 From: James Allen Date: Wed, 24 Jan 2018 16:56:31 +0000 Subject: [PATCH] Update User acceptance test helper to expose methods for modules --- .../acceptance/coffee/helpers/User.coffee | 43 ++++++++++++------- 1 file changed, 28 insertions(+), 15 deletions(-) diff --git a/services/web/test/acceptance/coffee/helpers/User.coffee b/services/web/test/acceptance/coffee/helpers/User.coffee index ad728fb263..7d8e9086d4 100644 --- a/services/web/test/acceptance/coffee/helpers/User.coffee +++ b/services/web/test/acceptance/coffee/helpers/User.coffee @@ -18,22 +18,27 @@ class User }) login: (callback = (error) ->) -> - @getCsrfToken (error) => + @ensureUserExists (error) => return callback(error) if error? - filter = {@email} - options = {upsert: true, new: true, setDefaultsOnInsert: true} - UserModel.findOneAndUpdate filter, {}, options, (error, user) => + @getCsrfToken (error) => 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 - @request.post { - url: "/login" - json: { @email, @password } - }, callback + @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) => + 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) ->) -> @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