diff --git a/test/api/v3/integration/chat/POST-chat.test.js b/test/api/v3/integration/chat/POST-chat.test.js index 4a980cc662..927d54bd94 100644 --- a/test/api/v3/integration/chat/POST-chat.test.js +++ b/test/api/v3/integration/chat/POST-chat.test.js @@ -35,6 +35,24 @@ describe('POST /chat', () => { }); }); + it('Returns an error when an empty message is provided', async () => { + await expect(user.post(`/groups/${groupWithChat._id}/chat`, { message: ' '})) + .to.eventually.be.rejected.and.eql({ + code: 400, + error: 'BadRequest', + message: t('invalidReqParams'), + }); + }); + + it('Returns an error when an message containing only newlines is provided', async () => { + await expect(user.post(`/groups/${groupWithChat._id}/chat`, { message: '\n\n'})) + .to.eventually.be.rejected.and.eql({ + code: 400, + error: 'BadRequest', + message: t('invalidReqParams'), + }); + }); + it('Returns an error when group is not found', async () => { await expect(user.post('/groups/invalidID/chat', { message: testMessage})).to.eventually.be.rejected.and.eql({ code: 404, diff --git a/website/server/controllers/api-v3/chat.js b/website/server/controllers/api-v3/chat.js index 6825850776..48d58a2b15 100644 --- a/website/server/controllers/api-v3/chat.js +++ b/website/server/controllers/api-v3/chat.js @@ -93,6 +93,7 @@ api.postChat = { let chatUpdated; req.checkParams('groupId', res.t('groupIdRequired')).notEmpty(); + req.sanitize('message').trim(); req.checkBody('message', res.t('messageGroupChatBlankMessage')).notEmpty(); let validationErrors = req.validationErrors();