Add route to add a hourglass

This commit is contained in:
Blade Barringer
2015-09-13 14:57:18 -05:00
parent 33c51a77d9
commit e554309822
3 changed files with 54 additions and 0 deletions

View File

@@ -583,4 +583,35 @@ describe('User Controller', function() {
expect(res.send).to.be.calledWith(204);
});
});
describe('#addHourglass', function() {
var req, res, user;
beforeEach(function() {
user = {
_id: 'user-id',
purchased: { plan: { consecutive: { trinkets: 3 } } },
save: sinon.stub().yields()
};
req = { };
res = {
locals: { user: user },
send: sinon.spy()
};
});
it('adds an hourglass to user', function() {
userController.addHourglass(req, res);
expect(user.purchased.plan.consecutive.trinkets).to.eql(4);
expect(user.save).to.be.calledOnce;
});
it('sends back 204', function() {
userController.addHourglass(req, res);
expect(res.send).to.be.calledOnce;
expect(res.send).to.be.calledWith(204);
});
});
});

View File

@@ -412,6 +412,25 @@ api.addTenGems = function(req, res, next) {
})
}
/*
------------------------------------------------------------------------
Hourglass
------------------------------------------------------------------------
*/
// api.unlock // see Shared.ops
api.addHourglass = function(req, res, next) {
var user = res.locals.user;
user.purchased.plan.consecutive.trinkets += 1;
user.save(function(err){
if (err) return next(err);
res.send(204);
})
}
/*
------------------------------------------------------------------------
Tags

View File

@@ -783,6 +783,10 @@ module.exports = (swagger, v2) ->
spec: method:'POST'
action: user.addTenGems
api["/user/addHourglass"] =
spec: method:'POST'
action: user.addHourglass
_.each api, (route, path) ->
## Spec format is:
# spec: