habitica-self-host/test/api/v4/inbox/POST-flag_private_message.test.js

78 lines
2.6 KiB
JavaScript
Raw Normal View History

2018-06-08 19:50:52 +00:00
import {
generateUser,
translate as t,
2018-10-14 13:28:00 +00:00
} from '../../../helpers/api-integration/v4';
2018-06-08 19:50:52 +00:00
describe('POST /members/flag-private-message/:messageId', () => {
let userToSendMessage;
2019-10-08 18:45:38 +00:00
const messageToSend = 'Test Private Message';
2018-06-08 19:50:52 +00:00
beforeEach(async () => {
userToSendMessage = await generateUser();
});
it('Allows players to flag their own private message', async () => {
2019-10-08 18:45:38 +00:00
const receiver = await generateUser();
2018-06-08 19:50:52 +00:00
await userToSendMessage.post('/members/send-private-message', {
message: messageToSend,
toUserId: receiver._id,
});
2019-10-08 18:45:38 +00:00
const senderMessages = await userToSendMessage.get('/inbox/paged-messages');
2018-06-08 19:50:52 +00:00
2019-10-08 18:45:38 +00:00
const sendersMessageInSendersInbox = _.find(
senderMessages,
message => message.toUUID === receiver._id && message.text === messageToSend,
);
2018-06-08 19:50:52 +00:00
expect(sendersMessageInSendersInbox).to.exist;
await expect(userToSendMessage.post(`/members/flag-private-message/${sendersMessageInSendersInbox.id}`)).to.eventually.be.ok;
});
it('Flags a private message', async () => {
2019-10-08 18:45:38 +00:00
const receiver = await generateUser();
2018-06-08 19:50:52 +00:00
await userToSendMessage.post('/members/send-private-message', {
message: messageToSend,
toUserId: receiver._id,
});
2019-10-08 18:45:38 +00:00
const receiversMessages = await receiver.get('/inbox/paged-messages');
2018-06-08 19:50:52 +00:00
2019-10-08 18:45:38 +00:00
const sendersMessageInReceiversInbox = _.find(
receiversMessages,
message => message.uuid === userToSendMessage._id && message.text === messageToSend,
);
2018-06-08 19:50:52 +00:00
expect(sendersMessageInReceiversInbox).to.exist;
await expect(receiver.post(`/members/flag-private-message/${sendersMessageInReceiversInbox.id}`)).to.eventually.be.ok;
});
it('Returns an error when user tries to flag a private message that is already flagged', async () => {
2019-10-08 18:45:38 +00:00
const receiver = await generateUser();
2018-06-08 19:50:52 +00:00
await userToSendMessage.post('/members/send-private-message', {
message: messageToSend,
toUserId: receiver._id,
});
2019-10-08 18:45:38 +00:00
const receiversMessages = await receiver.get('/inbox/paged-messages');
2018-06-08 19:50:52 +00:00
2019-10-08 18:45:38 +00:00
const sendersMessageInReceiversInbox = _.find(
receiversMessages,
message => message.uuid === userToSendMessage._id && message.text === messageToSend,
);
2018-06-08 19:50:52 +00:00
expect(sendersMessageInReceiversInbox).to.exist;
await expect(receiver.post(`/members/flag-private-message/${sendersMessageInReceiversInbox.id}`)).to.eventually.be.ok;
await expect(receiver.post(`/members/flag-private-message/${sendersMessageInReceiversInbox.id}`))
.to.eventually.be.rejected.and.eql({
code: 400,
error: 'BadRequest',
2018-06-08 19:50:52 +00:00
message: t('messageGroupChatFlagAlreadyReported'),
});
});
});