refactor update the message to use .save - fix test

This commit is contained in:
negue
2018-11-18 22:37:09 +01:00
parent 3f47cdd9a2
commit 3203bffeaa
3 changed files with 14 additions and 18 deletions

View File

@@ -66,8 +66,8 @@ describe('POST /members/flag-private-message/:messageId', () => {
await expect(receiver.post(`/members/flag-private-message/${sendersMessageInReceiversInbox.id}`)) await expect(receiver.post(`/members/flag-private-message/${sendersMessageInReceiversInbox.id}`))
.to.eventually.be.rejected.and.eql({ .to.eventually.be.rejected.and.eql({
code: 404, code: 400,
error: 'NotFound', error: 'BadRequest',
message: t('messageGroupChatFlagAlreadyReported'), message: t('messageGroupChatFlagAlreadyReported'),
}); });
}); });

View File

@@ -67,10 +67,12 @@ export default class InboxChatReporter extends ChatReporter {
}); });
} }
updateMessageAndSave (message, updateFunc) { updateMessageAndSave (message, ...changedFields) {
updateFunc(message); for (const changedField of changedFields) {
message.markModified(changedField);
}
return inboxLib.updateMessage(message); return message.save();
} }
flagInboxMessage (message) { flagInboxMessage (message) {
@@ -81,16 +83,16 @@ export default class InboxChatReporter extends ChatReporter {
throw new BadRequest(this.res.t('messageGroupChatFlagAlreadyReported')); throw new BadRequest(this.res.t('messageGroupChatFlagAlreadyReported'));
} }
return this.updateMessageAndSave(message, (m) => { message.flags[this.user._id] = true;
m.flags[this.user._id] = true; message.flagCount = 1;
m.flagCount = 1;
}); return this.updateMessageAndSave(message, 'flags', 'flagCount');
} }
async markMessageAsReported (message) { async markMessageAsReported (message) {
return this.updateMessageAndSave(message, (m) => { message.reported = true;
m.reported = true;
}); return this.updateMessageAndSave(message, 'reported');
} }
async flag () { async flag () {

View File

@@ -36,9 +36,3 @@ export async function clearPMs (user) {
Inbox.remove({ownerId: user._id}).exec(), Inbox.remove({ownerId: user._id}).exec(),
]); ]);
} }
export async function updateMessage (message) {
await Inbox.update({
id: message._id,
}, message).exec();
}