Files
habitica/test/api/v2/members/POST-members_id_message.test.js

71 lines
1.7 KiB
JavaScript

import {
generateUser,
} from '../../../helpers/api-integration/v2';
describe('POST /members/id/message', () => {
let sender, recipient;
beforeEach(async () => {
sender = await generateUser();
recipient = await generateUser();
});
it('adds the sent message to sender\'s inbox', async () => {
expect(sender.inbox.messages).to.be.empty;
await sender.post(`/members/${recipient._id}/message`, {
message: 'hello frodo',
});
await sender.sync();
expect(sender.inbox.messages).to.not.be.empty;
let messageKey = Object.keys(sender.inbox.messages)[0];
let message = sender.inbox.messages[messageKey];
expect(message.text).to.eql('hello frodo');
});
it('adds a message to recipients\'s inbox', async () => {
expect(recipient.inbox.messages).to.be.empty;
await sender.post(`/members/${recipient._id}/message`, {
message: 'hello frodo',
});
await recipient.sync();
expect(recipient.inbox.messages).to.not.be.empty;
let messageKey = Object.keys(recipient.inbox.messages)[0];
let message = recipient.inbox.messages[messageKey];
expect(message.text).to.eql('hello frodo');
});
it('does not increment the sender\'s new messages field', async () => {
expect(sender.inbox.messages).to.be.empty;
await sender.post(`/members/${recipient._id}/message`, {
message: 'hello frodo',
});
await sender.sync();
expect(sender.inbox.newMessages).to.eql(0);
});
it('increments the recipient\'s new messages field', async () => {
expect(recipient.inbox.messages).to.be.empty;
await sender.post(`/members/${recipient._id}/message`, {
message: 'hello frodo',
});
await recipient.sync();
expect(recipient.inbox.newMessages).to.eql(1);
});
});