habitica-self-host/test/api/api-helper.coffee

77 lines
2.2 KiB
CoffeeScript
Raw Normal View History

2015-05-07 13:13:43 +00:00
##############################
# Global modules
##############################
superagentDefaults = require("superagent-defaults")
global.request = superagentDefaults()
2015-05-10 19:54:45 +00:00
global.mongoose = require("mongoose")
2015-05-07 13:13:43 +00:00
global.moment = require("moment")
global.async = require("async")
global._ = require("lodash")
global.shared = require("../../common")
2015-05-08 02:33:59 +00:00
global.User = require("../../website/src/models/user").model
2015-05-07 13:13:43 +00:00
2015-05-11 13:13:23 +00:00
global.chai = require("chai")
global.expect = require("chai").expect
2015-05-07 13:13:43 +00:00
##############################
# Nconf config
##############################
path = require("path")
conf = require("nconf")
conf.argv().env().file(file: path.join(__dirname, "../config.json")).defaults()
conf.set "PORT", "1337"
global.conf = conf
##############################
# Node ENV and global variables
##############################
process.env.NODE_DB_URI = "mongodb://localhost/habitrpg_test"
global.baseURL = "http://localhost:" + conf.get("PORT") + "/api/v2"
global.user = undefined
##############################
# Helper Methods
##############################
global.expectCode = (res, code) ->
2015-05-11 13:13:23 +00:00
global.expect(res.body.err).to.not.exist if code is 200
global.expect(res.statusCode).to.equal code
2015-05-07 13:13:43 +00:00
global.registerNewUser = (cb, main) ->
main = true unless main?
randomID = shared.uuid()
username = password = randomID if main
request
.post(baseURL + "/register")
.set("Accept", "application/json")
.set("X-API-User", null)
.set("X-API-Key", null)
.send
username: randomID
password: randomID
confirmPassword: randomID
email: randomID + "@gmail.com"
.end (res) ->
return cb(null, res.body) unless main
_id = res.body._id
apiToken = res.body.apiToken
2015-05-07 22:37:07 +00:00
global.User.findOne
2015-05-07 13:13:43 +00:00
_id: _id
apiToken: apiToken
, (err, _user) ->
2015-05-11 13:13:23 +00:00
expect(err).to.not.be.ok
2015-05-07 13:13:43 +00:00
global.user = _user
request
.set("Accept", "application/json")
.set("X-API-User", _id)
.set("X-API-Key", apiToken)
cb null, res.body
2015-05-08 02:16:53 +00:00
global.registerManyUsers = (number, callback) ->
global.async.times number, (n, next) ->
global.registerNewUser (err, user) ->
next(err, user)
, false
, (err, users) ->
callback(err, users)