mirror of
https://github.com/sudoxnym/habitica.git
synced 2026-08-04 09:39:23 +00:00
Add user scrub quest data back in
This commit is contained in:
parent
66d16fefc3
commit
f584b173c8
2 changed files with 26 additions and 1 deletions
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Reference in a new issue