mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-19 15:48:04 +01:00
Add route to add a hourglass
This commit is contained in:
@@ -583,4 +583,35 @@ describe('User Controller', function() {
|
|||||||
expect(res.send).to.be.calledWith(204);
|
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);
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -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
|
Tags
|
||||||
|
|||||||
@@ -783,6 +783,10 @@ module.exports = (swagger, v2) ->
|
|||||||
spec: method:'POST'
|
spec: method:'POST'
|
||||||
action: user.addTenGems
|
action: user.addTenGems
|
||||||
|
|
||||||
|
api["/user/addHourglass"] =
|
||||||
|
spec: method:'POST'
|
||||||
|
action: user.addHourglass
|
||||||
|
|
||||||
_.each api, (route, path) ->
|
_.each api, (route, path) ->
|
||||||
## Spec format is:
|
## Spec format is:
|
||||||
# spec:
|
# spec:
|
||||||
|
|||||||
Reference in New Issue
Block a user