fix: Cleanup quest progress for non-members when quest starts

This commit is contained in:
Blade Barringer
2016-06-01 12:43:44 -05:00
parent c33b7273fa
commit 434cac944c
5 changed files with 105 additions and 27 deletions

View File

@@ -4,6 +4,7 @@ import {
generateUser,
} from '../../../../helpers/api-v3-integration.helper';
import { v4 as generateUUID } from 'uuid';
import Bluebird from 'bluebird';
describe('POST /groups/:groupId/quests/reject', () => {
let questingGroup;
@@ -142,5 +143,26 @@ describe('POST /groups/:groupId/quests/reject', () => {
expect(questingGroup.quest.active).to.be.true;
});
it('cleans up user quest data for non-quest members when last member rejects', async () => {
let rejectingMember = partyMembers[1];
await leader.post(`/groups/${questingGroup._id}/quests/invite/${PET_QUEST}`);
await partyMembers[0].post(`/groups/${questingGroup._id}/quests/accept`);
// quest will start after everyone has accepted or rejected
await rejectingMember.post(`/groups/${questingGroup._id}/quests/reject`);
await Bluebird.delay(500);
await questingGroup.sync();
expect(questingGroup.quest.active).to.be.true;
await rejectingMember.sync();
expect(rejectingMember.party.quest.RSVPNeeded).to.eql(false);
expect(rejectingMember.party.quest.key).to.not.exist;
expect(rejectingMember.party.quest.completed).to.not.exist;
});
});
});