Handle simultaneous quest accept/reject (#12090)

* Implement atomic quest accept/reject

* Persist quest.members early to avoid simultaneous handling of accept/reject

* Fix quest accept test (missing expectation)

* PR fixes
This commit is contained in:
Carl Vuorinen
2020-04-17 23:57:31 +03:00
committed by GitHub
parent 936d3ffc98
commit 2896cf77e0
3 changed files with 40 additions and 7 deletions

View File

@@ -112,7 +112,7 @@ describe('POST /groups/:groupId/quests/accept', () => {
await Promise.all([partyMembers[0].sync(), questingGroup.sync()]);
expect(leader.party.quest.RSVPNeeded).to.equal(false);
expect(questingGroup.quest.members[partyMembers[0]._id]);
expect(questingGroup.quest.members[partyMembers[0]._id]).to.equal(true);
});
it('does not begin the quest if pending invitations remain', async () => {