103 lines
2.5 KiB
JavaScript
103 lines
2.5 KiB
JavaScript
import {
|
|
createAndPopulateGroup,
|
|
generateUser,
|
|
requester,
|
|
translate as t,
|
|
} from '../../../helpers/api.helper';
|
|
|
|
describe('POST /groups/:id/chat/:id/flag', () => {
|
|
|
|
context('another member\'s message', () => {
|
|
let group, member, message, user;
|
|
|
|
beforeEach(() => {
|
|
return createAndPopulateGroup({
|
|
groupDetails: {
|
|
type: 'guild',
|
|
privacy: 'public',
|
|
},
|
|
members: 1,
|
|
}).then((res) => {
|
|
group = res.group;
|
|
user = res.leader;
|
|
member = res.members[0];
|
|
|
|
return requester(member)
|
|
.post(`/groups/${group._id}/chat`, null, { message: 'Group member message', });
|
|
}).then((res) => {
|
|
message = res.message;
|
|
});
|
|
});
|
|
|
|
it('flags message', () => {
|
|
let api = requester(user);
|
|
|
|
return api.post(`/groups/${group._id}/chat/${message.id}/flag`).then((messages) => {
|
|
return api.get(`/groups/${group._id}/chat`);
|
|
}).then((messages) => {
|
|
let message = messages[0];
|
|
expect(message.flags[user._id]).to.eql(true);
|
|
});
|
|
});
|
|
});
|
|
|
|
context('own message', () => {
|
|
let api, group, message, user;
|
|
|
|
beforeEach(() => {
|
|
return createAndPopulateGroup({
|
|
groupDetails: {
|
|
type: 'guild',
|
|
privacy: 'public',
|
|
members: 1,
|
|
},
|
|
}).then((res) => {
|
|
group = res.group;
|
|
user = res.leader;
|
|
api = requester(user);
|
|
|
|
return api.post(`/groups/${group._id}/chat`, null, { message: 'User\'s own message', });
|
|
}).then((res) => {
|
|
message = res.message;
|
|
});
|
|
});
|
|
|
|
it('cannot flag message', () => {
|
|
let api = requester(user);
|
|
|
|
return expect(api.post(`/groups/${group._id}/chat/${message.id}/flag`))
|
|
.to.eventually.be.rejected.and.eql({
|
|
code: 401,
|
|
text: t('messageGroupChatFlagOwnMessage'),
|
|
});
|
|
});
|
|
});
|
|
|
|
context('nonexistant message', () => {
|
|
let api, group, message, user;
|
|
|
|
beforeEach(() => {
|
|
return createAndPopulateGroup({
|
|
groupDetails: {
|
|
type: 'guild',
|
|
privacy: 'public',
|
|
},
|
|
}).then((res) => {
|
|
group = res.group;
|
|
user = res.leader;
|
|
api = requester(user);
|
|
});
|
|
});
|
|
|
|
it('returns error', () => {
|
|
let api = requester(user);
|
|
|
|
return expect(api.post(`/groups/${group._id}/chat/non-existant-message/flag`))
|
|
.to.eventually.be.rejected.and.eql({
|
|
code: 404,
|
|
text: t('messageGroupChatNotFound'),
|
|
});
|
|
});
|
|
});
|
|
});
|