diff --git a/src/server/api.coffee b/src/server/api.coffee index 37da942522..808c25f32d 100644 --- a/src/server/api.coffee +++ b/src/server/api.coffee @@ -21,19 +21,23 @@ router.get '/status', (req, res) -> status: 'up' router.get '/user', (req, res) -> - console.log 'hi' - { uid, token } = req.query + console.log 'hi', { uid, token } = req.query return res.json 500, NO_TOKEN_OR_UID unless uid || token model = req.getModel() query = model.query('users').withIdAndToken(uid, token) query.fetch (err, user) -> + throw err if err + console.log user.at(0).get() self = user.get() + console.log self return res.json 500, err: err if err return res.json 500, NO_USER_FOUND if !self || _.isEmpty(self) - res.json self + return res.json self + res.json {err: 'Something went wrong'} + router.get '/user/calendar.ics', (req, res) -> #return next() #disable for now diff --git a/src/server/store.coffee b/src/server/store.coffee index 0a10b1b7e8..41ec5dd9ad 100644 --- a/src/server/store.coffee +++ b/src/server/store.coffee @@ -56,7 +56,7 @@ REST = (store) -> store.query.expose "users", "withIdAndToken", (uid, token) -> @byId(uid) .where('apiToken').equals(token) - .one + .limit(1) store.queryAccess "users", "withIdAndToken", (uid, token, accept, err) -> return accept(true) if uid && token diff --git a/test/api.mocha.coffee b/test/api.mocha.coffee index 7da76094b5..4e73aeb3f6 100644 --- a/test/api.mocha.coffee +++ b/test/api.mocha.coffee @@ -7,9 +7,12 @@ moment = require 'moment' request = require 'superagent' qs = require 'querystring' -app = require '../server' +racer.use require 'racer-db-mongo' -store = app.habitStore +store = racer.createStore + db: + type: 'Mongo' + uri: process.env.NODE_DB_URI # Custom modules scoring = require '../src/app/scoring' @@ -86,12 +89,8 @@ describe 'API', -> describe 'Without token or user id', -> it '/api/v1/user', (done) -> - request(app) - .get("/api/v1/user") + request.get("#{baseURL}/user") .set('Accept', 'application/json') - .on('error', (err) -> - console.log 'err', err - ) .end (res) -> assert.equal res.statusCode, 500 assert.ok JSON.parse(res.text).err @@ -100,9 +99,9 @@ describe 'API', -> describe 'With token and user id', -> before (done) -> model = store.createModel() - store.flush() + #store.flush() - uid = model.id() + model.set '_userId', uid = model.id() user = character.newUserObject() user.apiToken = derby.uuid() model.set "users.#{uid}", user @@ -114,20 +113,16 @@ describe 'API', -> done() - after (done) -> - store.flush done - it '/api/v1/user', (done) -> - console.log params - request(app) - .get("/api/v1/user") + console.log "#{baseURL}/user?#{qs.stringify(params)}" + request.get("#{baseURL}/user") .set('Accept', 'application/json') .query(params) .on('error', (err) -> console.log 'err', err ) .end (res) -> - console.log 'test', res.body + console.log res.body assert.ok !res.body.err assert.equal res.statusCode, 200 assert.ok res.body