mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-18 23:27:26 +01:00
Q-ify save functions
This commit is contained in:
@@ -11,8 +11,6 @@ describe('Groups Controller', function() {
|
||||
var res, req, group, user, saveSpy;
|
||||
|
||||
beforeEach(function() {
|
||||
sinon.stub(process, 'nextTick').yields();
|
||||
|
||||
group = {
|
||||
_id: 'group-id',
|
||||
type: 'party',
|
||||
@@ -47,6 +45,7 @@ describe('Groups Controller', function() {
|
||||
RSVPNeeded : false
|
||||
}
|
||||
},
|
||||
save: sinon.stub().yields(),
|
||||
markModified: sinon.spy()
|
||||
};
|
||||
|
||||
@@ -62,10 +61,6 @@ describe('Groups Controller', function() {
|
||||
req = { };
|
||||
});
|
||||
|
||||
afterEach(function () {
|
||||
process.nextTick.restore();
|
||||
});
|
||||
|
||||
context('error conditions', function() {
|
||||
it('errors if quest is not active', function() {
|
||||
group.quest.active = false;
|
||||
@@ -104,13 +99,13 @@ describe('Groups Controller', function() {
|
||||
});
|
||||
|
||||
it('sends 500 if group cannot save', function() {
|
||||
group.save = sinon.stub().yields('save error');
|
||||
group.save = sinon.stub().throws({err: 'save error'});
|
||||
var nextSpy = sinon.spy();
|
||||
|
||||
groupsController.questLeave(req, res, nextSpy);
|
||||
|
||||
expect(nextSpy).to.be.calledOnce;
|
||||
expect(nextSpy).to.be.calledWith('save error');
|
||||
expect(nextSpy).to.be.calledWith({err: 'save error'});
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
@@ -1097,8 +1097,13 @@ api.questLeave = function(req, res, next) {
|
||||
user.party.quest = Group.cleanQuestProgress();
|
||||
user.markModified('party.quest');
|
||||
|
||||
group.save(function(err, result) {
|
||||
if (err) return next(err);
|
||||
return res.send(204);
|
||||
});
|
||||
var groupSavePromise = Q.nbind(group.save, group);
|
||||
var userSavePromise = Q.nbind(user.save, user);
|
||||
|
||||
Q.all([groupSavePromise(), userSavePromise()])
|
||||
.done(function(values) {
|
||||
return res.send(204);
|
||||
}, function(error) {
|
||||
return next(error);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ mixin participants(questStart)
|
||||
-var isMember = 'group.quest.members[member._id]'
|
||||
table.table.table-striped
|
||||
tr(ng-repeat='member in group.members track by member._id',
|
||||
ng-if='::#{!questStart} || #{isMember}')
|
||||
ng-if='#{!questStart} || #{isMember}')
|
||||
td
|
||||
span(ng-if=':: group.quest.leader && group.quest.leader==member._id') *
|
||||
a: span(ng-click='clickMember(member._id, true)') {{::member.profile.name}}
|
||||
|
||||
Reference in New Issue
Block a user