mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-19 07:37:25 +01:00
Updated POST like route to persist data between updates
This commit is contained in:
@@ -92,12 +92,12 @@ describe('POST /chat/:chatId/like', () => {
|
||||
return api.post(`/groups/${group._id}/chat/${message.id}/like`);
|
||||
})
|
||||
.then((result) => {
|
||||
expect(result.likes[user._id]).to.equal(undefined);
|
||||
expect(result.likes[user._id]).to.equal(false);
|
||||
return api.get(`/groups/${group._id}`);
|
||||
})
|
||||
.then((updatedGroup) => {
|
||||
let messageToCheck = _.find(updatedGroup.chat, {id: message.id});
|
||||
expect(messageToCheck.likes[user._id]).to.equal(undefined);
|
||||
expect(messageToCheck.likes[user._id]).to.equal(false);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@@ -133,18 +133,12 @@ api.likeChat = {
|
||||
|
||||
if (message.uuid === user._id) throw new NotFound(res.t('messageGroupChatLikeOwnMessage'));
|
||||
|
||||
let update;
|
||||
let update = {$set: {}};
|
||||
|
||||
if (!message.likes) message.likes = {};
|
||||
if (message.likes[user._id]) {
|
||||
delete message.likes[user._id];
|
||||
update = {'$unset': {}};
|
||||
update.$unset[`chat.$.likes.${user._id}`] = '';
|
||||
} else {
|
||||
message.likes[user._id] = true;
|
||||
update = {'$set': {}};
|
||||
update.$set[`chat.$.likes.${user._id}`] = true;
|
||||
}
|
||||
|
||||
message.likes[user._id] = !message.likes[user._id];
|
||||
update.$set[`chat.$.likes.${user._id}`] = message.likes[user._id];
|
||||
|
||||
return Group.update(
|
||||
{_id: group._id, 'chat.id': message.id},
|
||||
|
||||
Reference in New Issue
Block a user