Add user scrub quest data back in

This commit is contained in:
Blade Barringer 2015-08-24 12:58:31 -05:00
parent 66d16fefc3
commit f584b173c8
2 changed files with 26 additions and 1 deletions

View file

@ -46,7 +46,8 @@ describe('Groups Controller', function() {
completed : null,
RSVPNeeded : false
}
}
},
markModified: sinon.spy()
};
res = {
@ -122,6 +123,26 @@ describe('Groups Controller', function() {
expect(group.quest.members[user._id]).to.not.exist;
});
it('scrubs quest data from user', function() {
user.party.quest.progress = {
up: 100,
down: 32,
collect: {
foo: 12,
bar: 4
}
};
groupsController.questLeave(req, res);
expect(user.party.quest.key).to.not.exist;
expect(user.party.quest.progress).to.eql({
up: 0,
down: 0,
collect: {}
});
});
it('sends back 204 on success', function() {
groupsController.questLeave(req, res);

View file

@ -8,6 +8,7 @@ function clone(a) {
var _ = require('lodash');
var nconf = require('nconf');
var async = require('async');
var Q = require('q');
var utils = require('./../utils');
var shared = require('../../../common');
var User = require('./../models/user').model;
@ -1093,6 +1094,9 @@ api.questLeave = function(req, res, next) {
delete group.quest.members[user._id];
group.markModified('quest.members');
user.party.quest = Group.cleanQuestProgress();
user.markModified('party.quest');
group.save(function(err, result) {
if (err) return next(err);
return res.send(204);