mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-18 23:27:26 +01:00
fix removeMember route and tests
This commit is contained in:
@@ -64,7 +64,7 @@ describe('POST /groups/:groupId/removeMember/:memberId', () => {
|
|||||||
await leader.post(`/groups/${guild._id}/removeMember/${member._id}`);
|
await leader.post(`/groups/${guild._id}/removeMember/${member._id}`);
|
||||||
let memberRemoved = await member.get('/user');
|
let memberRemoved = await member.get('/user');
|
||||||
|
|
||||||
expect(_.findIndex(memberRemoved.guilds, {id: guild._id})).eql(-1);
|
expect(memberRemoved.guilds.indexOf(guild._id)).eql(-1);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('updates memberCount', async () => {
|
it('updates memberCount', async () => {
|
||||||
|
|||||||
@@ -394,18 +394,23 @@ api.removeGroupMember = {
|
|||||||
group.memberCount -= 1;
|
group.memberCount -= 1;
|
||||||
|
|
||||||
if (group.quest && group.quest.leader === member._id) {
|
if (group.quest && group.quest.leader === member._id) {
|
||||||
group.quest.key = null;
|
group.quest.key = undefined;
|
||||||
group.quest.leader = null; // TODO markmodified?
|
group.quest.leader = undefined;
|
||||||
} else if (group.quest && group.quest.members) {
|
} else if (group.quest && group.quest.members) {
|
||||||
// remove member from quest
|
// remove member from quest
|
||||||
group.quest.members[member._id] = undefined;
|
group.quest.members[member._id] = undefined; // TODO remmeber to check these are mark modified everywhere
|
||||||
|
group.markModified('quest.members');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isInGroup === 'guild') _.pull(member.guilds, group._id);
|
if (isInGroup === 'guild') {
|
||||||
|
let i = member.guilds.indexOf(group._id);
|
||||||
|
if (i !== -1) member.guilds.splice(i, 1);
|
||||||
|
}
|
||||||
if (isInGroup === 'party') member.party._id = undefined; // TODO remove quest information too?
|
if (isInGroup === 'party') member.party._id = undefined; // TODO remove quest information too?
|
||||||
|
|
||||||
if (member.newMessages.group) {
|
if (member.newMessages[group._id]) {
|
||||||
member.newMessages.group._id = undefined;
|
member.newMessages[group._id] = undefined;
|
||||||
|
member.markModified('newMessages');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (group.quest && group.quest.active && group.quest.leader === member._id) {
|
if (group.quest && group.quest.active && group.quest.leader === member._id) {
|
||||||
|
|||||||
Reference in New Issue
Block a user