tests(api): Convert tests to use new api user methods

This commit is contained in:
Blade Barringer
2015-12-29 17:34:33 -06:00
parent b2336c7adf
commit 4cf9518a5a
28 changed files with 213 additions and 313 deletions
@@ -1,12 +1,11 @@
import {
createAndPopulateGroup,
generateUser,
requester,
translate as t,
} from '../../../../helpers/api-integration.helper';
describe('DELETE /groups/:id/chat', () => {
let api, group, message, user;
let group, message, user;
beforeEach(() => {
return createAndPopulateGroup({
@@ -17,24 +16,23 @@ describe('DELETE /groups/:id/chat', () => {
}).then((res) => {
group = res.group;
user = res.leader;
api = requester(user);
return api.post(`/groups/${group._id}/chat`, null, { message: 'Some message', });
return user.post(`/groups/${group._id}/chat`, null, { message: 'Some message', });
}).then((res) => {
message = res.message;
});
});
it('deletes a message', () => {
return api.del(`/groups/${group._id}/chat/${message.id}`).then((res) => {
return api.get(`/groups/${group._id}/chat/`);
return user.del(`/groups/${group._id}/chat/${message.id}`).then((res) => {
return user.get(`/groups/${group._id}/chat/`);
}).then((messages) => {
expect(messages).to.have.length(0);
});
});
it('returns an error is message does not exist', () => {
return expect(api.del(`/groups/${group._id}/chat/some-fake-id`)).to.eventually.be.rejected.and.eql({
return expect(user.del(`/groups/${group._id}/chat/some-fake-id`)).to.eventually.be.rejected.and.eql({
code: 404,
text: t('messageGroupChatNotFound'),
});
@@ -1,7 +1,6 @@
import {
createAndPopulateGroup,
generateUser,
requester,
translate as t,
} from '../../../../helpers/api-integration.helper';
@@ -22,20 +21,18 @@ describe('GET /groups/:id/chat', () => {
user = res.leader;
member = res.members[0];
return requester(member).post(`/groups/${group._id}/chat`, null, { message: 'Group member message' });
return member.post(`/groups/${group._id}/chat`, null, { message: 'Group member message' });
}).then((res) => {
message1 = res.message;
return requester(user).post(`/groups/${group._id}/chat`, null, { message: 'User message' });
return user.post(`/groups/${group._id}/chat`, null, { message: 'User message' });
}).then((res) => {
message2 = res.message;
});
});
it('gets messages', () => {
let api = requester(user);
return api.get(`/groups/${group._id}/chat`).then((messages) => {
return user.get(`/groups/${group._id}/chat`).then((messages) => {
expect(messages).to.have.length(2);
let message = messages[0];
@@ -1,13 +1,12 @@
import {
createAndPopulateGroup,
generateUser,
requester,
translate as t,
} from '../../../../helpers/api-integration.helper';
describe('POST /groups/:id/chat', () => {
let api, group, user;
let group, user;
beforeEach(() => {
return createAndPopulateGroup({
@@ -18,12 +17,11 @@ describe('POST /groups/:id/chat', () => {
}).then((res) => {
group = res.group;
user = res.leader;
api = requester(user);
});
});
it('creates a chat message', () => {
return api.post(`/groups/${group._id}/chat`, null, {
return user.post(`/groups/${group._id}/chat`, null, {
message: 'Test Message',
}).then((res) => {
let message = res.message;
@@ -36,7 +34,7 @@ describe('POST /groups/:id/chat', () => {
});
it('does not post an empty message', () => {
return expect(api.post(`/groups/${group._id}/chat`, null, {
return expect(user.post(`/groups/${group._id}/chat`, null, {
message: '',
})).to.eventually.be.rejected.and.eql({
code: 400,
@@ -1,7 +1,6 @@
import {
createAndPopulateGroup,
generateUser,
requester,
translate as t,
} from '../../../../helpers/api-integration.helper';
@@ -27,16 +26,16 @@ describe('POST /groups/:id/chat/:id/clearflags', () => {
});
context('non admin', () => {
let api;
let nonadmin;
beforeEach(() => {
return generateUser().then((user) => {
api = requester(user);
nonadmin = user;
});
});
it('cannot clear flags', () => {
return expect(api.post(`/groups/${group._id}/chat/message-to-clear/clearflags`))
return expect(nonadmin.post(`/groups/${group._id}/chat/message-to-clear/clearflags`))
.to.eventually.be.rejected.and.eql({
code: 401,
text: t('messageGroupChatAdminClearFlagCount'),
@@ -45,34 +44,34 @@ describe('POST /groups/:id/chat/:id/clearflags', () => {
});
context('admin', () => {
let api;
let admin;
beforeEach(() => {
return generateUser({
'contributor.admin': true,
}).then((user) => {
api = requester(user);
admin = user;
});
});
it('clears flags', () => {
return api.post(`/groups/${group._id}/chat/message-to-clear/clearflags`).then((res) => {
return api.get(`/groups/${group._id}/chat`);
return admin.post(`/groups/${group._id}/chat/message-to-clear/clearflags`).then((res) => {
return admin.get(`/groups/${group._id}/chat`);
}).then((messages) => {
expect(messages[0].flagCount).to.eql(0);
});
});
it('leaves old flags on the flag object', () => {
return api.post(`/groups/${group._id}/chat/message-to-clear/clearflags`).then((res) => {
return api.get(`/groups/${group._id}/chat`);
return admin.post(`/groups/${group._id}/chat/message-to-clear/clearflags`).then((res) => {
return admin.get(`/groups/${group._id}/chat`);
}).then((messages) => {
expect(messages[0].flags).to.have.property('some-id', true);
});
});
it('returns error if message does not exist', () => {
return expect(api.post(`/groups/${group._id}/chat/non-existant-message/clearflags`))
return expect(admin.post(`/groups/${group._id}/chat/non-existant-message/clearflags`))
.to.eventually.be.rejected.and.eql({
code: 404,
text: t('messageGroupChatNotFound'),
@@ -111,10 +110,8 @@ describe('POST /groups/:id/chat/:id/clearflags', () => {
});
it('changes only the message that is flagged', () => {
let api = requester(admin);
return api.post(`/groups/${group._id}/chat/message-to-unflag/clearflags`).then((messages) => {
return api.get(`/groups/${group._id}/chat`);
return admin.post(`/groups/${group._id}/chat/message-to-unflag/clearflags`).then((messages) => {
return admin.get(`/groups/${group._id}/chat`);
}).then((messages) => {
expect(messages).to.have.lengthOf(4);
@@ -1,7 +1,6 @@
import {
createAndPopulateGroup,
generateUser,
requester,
translate as t,
} from '../../../../helpers/api-integration.helper';
@@ -22,18 +21,15 @@ describe('POST /groups/:id/chat/:id/flag', () => {
user = res.leader;
member = res.members[0];
return requester(member)
.post(`/groups/${group._id}/chat`, null, { message: 'Group member message', });
return 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`);
return user.post(`/groups/${group._id}/chat/${message.id}/flag`).then((messages) => {
return user.get(`/groups/${group._id}/chat`);
}).then((messages) => {
let message = messages[0];
expect(message.flagCount).to.eql(1);
@@ -41,10 +37,8 @@ describe('POST /groups/:id/chat/:id/flag', () => {
});
it('cannot flag the same message twice', () => {
let api = requester(user);
return expect(api.post(`/groups/${group._id}/chat/${message.id}/flag`).then((messages) => {
return api.post(`/groups/${group._id}/chat/${message.id}/flag`);
return expect(user.post(`/groups/${group._id}/chat/${message.id}/flag`).then((messages) => {
return user.post(`/groups/${group._id}/chat/${message.id}/flag`);
})).to.eventually.be.rejected.and.eql({
code: 401,
text: t('messageGroupChatFlagAlreadyReported'),
@@ -53,7 +47,7 @@ describe('POST /groups/:id/chat/:id/flag', () => {
});
context('own message', () => {
let api, group, message, user;
let group, message, user;
beforeEach(() => {
return createAndPopulateGroup({
@@ -65,18 +59,15 @@ describe('POST /groups/:id/chat/:id/flag', () => {
}).then((res) => {
group = res.group;
user = res.leader;
api = requester(user);
return api.post(`/groups/${group._id}/chat`, null, { message: 'User\'s own message', });
return user.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`))
return expect(user.post(`/groups/${group._id}/chat/${message.id}/flag`))
.to.eventually.be.rejected.and.eql({
code: 401,
text: t('messageGroupChatFlagOwnMessage'),
@@ -85,7 +76,7 @@ describe('POST /groups/:id/chat/:id/flag', () => {
});
context('nonexistant message', () => {
let api, group, message, user;
let group, message, user;
beforeEach(() => {
return createAndPopulateGroup({
@@ -96,14 +87,11 @@ describe('POST /groups/:id/chat/:id/flag', () => {
}).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`))
return expect(user.post(`/groups/${group._id}/chat/non-existant-message/flag`))
.to.eventually.be.rejected.and.eql({
code: 404,
text: t('messageGroupChatNotFound'),
@@ -144,10 +132,8 @@ describe('POST /groups/:id/chat/:id/flag', () => {
});
it('changes only the message that is flagged', () => {
let api = requester(user);
return api.post(`/groups/${group._id}/chat/message-to-be-flagged/flag`).then((messages) => {
return requester(admin).get(`/groups/${group._id}/chat`);
return user.post(`/groups/${group._id}/chat/message-to-be-flagged/flag`).then((messages) => {
return admin.get(`/groups/${group._id}/chat`);
}).then((messages) => {
expect(messages).to.have.lengthOf(4);
@@ -190,18 +176,15 @@ describe('POST /groups/:id/chat/:id/flag', () => {
user = res.leader;
member = res.members[0];
return requester(member)
.post(`/groups/${group._id}/chat`, null, { message: 'Group member message', });
return member.post(`/groups/${group._id}/chat`, null, { message: 'Group member message', });
}).then((res) => {
message = res.message;
});
});
it('sets flagCount to 5', () => {
let api = requester(user);
return api.post(`/groups/${group._id}/chat/${message.id}/flag`).then((messages) => {
return api.get(`/groups/${group._id}/chat`);
return user.post(`/groups/${group._id}/chat/${message.id}/flag`).then((messages) => {
return user.get(`/groups/${group._id}/chat`);
}).then((messages) => {
let message = messages[0];
expect(message.flagCount).to.eql(5);
@@ -1,7 +1,6 @@
import {
createAndPopulateGroup,
generateUser,
requester,
translate as t,
} from '../../../../helpers/api-integration.helper';
@@ -22,26 +21,21 @@ describe('POST /groups/:id/chat/:id/like', () => {
user = res.leader;
member = res.members[0];
return requester(member)
.post(`/groups/${group._id}/chat`, null, { message: 'Group member message', });
return member.post(`/groups/${group._id}/chat`, null, { message: 'Group member message', });
}).then((res) => {
message = res.message;
});
});
it('likes message', () => {
let api = requester(user);
return api.post(`/groups/${group._id}/chat/${message.id}/like`).then((messages) => {
return user.post(`/groups/${group._id}/chat/${message.id}/like`).then((messages) => {
let message = messages[0];
expect(message.likes[user._id]).to.eql(true);
});
});
it('returns the message object', () => {
let api = requester(user);
return api.post(`/groups/${group._id}/chat/${message.id}/like`).then((messages) => {
return user.post(`/groups/${group._id}/chat/${message.id}/like`).then((messages) => {
let message = messages[0];
expect(message.text).to.eql('Group member message');
expect(message.uuid).to.eql(member._id);
@@ -51,7 +45,7 @@ describe('POST /groups/:id/chat/:id/like', () => {
});
context('own message', () => {
let api, group, message, user;
let group, message, user;
beforeEach(() => {
return createAndPopulateGroup({
@@ -63,18 +57,15 @@ describe('POST /groups/:id/chat/:id/like', () => {
}).then((res) => {
group = res.group;
user = res.leader;
api = requester(user);
return api.post(`/groups/${group._id}/chat`, null, { message: 'User\'s own message', });
return user.post(`/groups/${group._id}/chat`, null, { message: 'User\'s own message', });
}).then((res) => {
message = res.message;
});
});
it('cannot like message', () => {
let api = requester(user);
return expect(api.post(`/groups/${group._id}/chat/${message.id}/like`))
return expect(user.post(`/groups/${group._id}/chat/${message.id}/like`))
.to.eventually.be.rejected.and.eql({
code: 401,
text: t('messageGroupChatLikeOwnMessage'),
@@ -115,10 +106,8 @@ describe('POST /groups/:id/chat/:id/like', () => {
});
it('changes only the message that is liked', () => {
let api = requester(user);
return api.post(`/groups/${group._id}/chat/message-to-be-liked/like`).then((messages) => {
return requester(admin).get(`/groups/${group._id}/chat`);
return user.post(`/groups/${group._id}/chat/message-to-be-liked/like`).then((messages) => {
return admin.get(`/groups/${group._id}/chat`);
}).then((messages) => {
expect(messages).to.have.lengthOf(4);
@@ -143,7 +132,7 @@ describe('POST /groups/:id/chat/:id/like', () => {
});
context('nonexistant message', () => {
let api, group, message, user;
let group, message, user;
beforeEach(() => {
return createAndPopulateGroup({
@@ -154,14 +143,11 @@ describe('POST /groups/:id/chat/:id/like', () => {
}).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/like`))
return expect(user.post(`/groups/${group._id}/chat/non-existant-message/like`))
.to.eventually.be.rejected.and.eql({
code: 404,
text: t('messageGroupChatNotFound'),