tests(api): Convert GET and flag chat posts to use async/await

This commit is contained in:
Blade Barringer
2015-12-31 18:11:03 -06:00
parent 90cd322af5
commit 91e7b9eb32
2 changed files with 49 additions and 75 deletions

View File

@@ -7,69 +7,55 @@ import {
describe('GET /groups/:groupId/chat', () => { describe('GET /groups/:groupId/chat', () => {
let user; let user;
before(() => { before(async () => {
return generateUser().then((generatedUser) => { user = await generateUser();
user = generatedUser;
});
}); });
context('public Guild', () => { context('public Guild', () => {
let group; let group;
before(() => { before(async () => {
return generateUser({balance: 2}) let leader = await generateUser({balance: 2});
.then((generatedLeader) => {
return generateGroup(generatedLeader, { group = await generateGroup(leader, {
name: 'test group', name: 'test group',
type: 'guild', type: 'guild',
privacy: 'public', privacy: 'public',
}, { }, {
chat: [ chat: [
'Hello', 'Hello',
'Welcome to the Guild', 'Welcome to the Guild',
], ],
});
})
.then((createdGroup) => {
group = createdGroup;
}); });
}); });
it('returns Guild chat', () => { it('returns Guild chat', async () => {
return user.get(`/groups/${group._id}/chat`) let chat = await user.get(`/groups/${group._id}/chat`);
.then((getChat) => {
expect(getChat).to.eql(group.chat); expect(chat).to.eql(group.chat);
});
}); });
}); });
context('private Guild', () => { context('private Guild', () => {
let group; let group;
before(() => { before(async () => {
return generateUser({balance: 2}) let leader = await generateUser({balance: 2});
.then((generatedLeader) => {
return generateGroup(generatedLeader, { group = await generateGroup(leader, {
name: 'test group', name: 'test group',
type: 'guild', type: 'guild',
privacy: 'private', privacy: 'private',
}, { }, {
chat: [ chat: [
'Hello', 'Hello',
'Welcome to the Guild', 'Welcome to the Guild',
], ],
});
})
.then((createdGroup) => {
group = createdGroup;
}); });
}); });
it('returns error if user is not member of requested private group', () => { it('returns error if user is not member of requested private group', async () => {
return expect( await expect(user.get(`/groups/${group._id}/chat`)).to.eventually.be.rejected.and.eql({
user.get(`/groups/${group._id}/chat`)
)
.to.eventually.be.rejected.and.eql({
code: 404, code: 404,
error: 'NotFound', error: 'NotFound',
message: t('groupNotFound'), message: t('groupNotFound'),

View File

@@ -5,31 +5,19 @@ import {
import { find } from 'lodash'; import { find } from 'lodash';
describe('POST /chat/:chatId/flag', () => { describe('POST /chat/:chatId/flag', () => {
let user; let user, group;
let group; const TEST_MESSAGE = 'Test Message';
let testMessage = 'Test Message';
before(() => { before(async () => {
let groupName = 'Test Guild'; user = await generateUser({balance: 1});
let groupType = 'guild'; group = await user.post('/groups', {
let groupPrivacy = 'public'; name: 'Test Guild',
type: 'guild',
return generateUser({balance: 1}).then((generatedUser) => { privacy: 'public',
user = generatedUser;
})
.then(() => {
return user.post('/groups', {
name: groupName,
type: groupType,
privacy: groupPrivacy,
});
})
.then((generatedGroup) => {
group = generatedGroup;
}); });
}); });
it('Returns an error when chat message is not found', () => { it('Returns an error when chat message is not found', async () => {
return expect(user.post(`/groups/${group._id}/chat/incorrectMessage/flag`)) return expect(user.post(`/groups/${group._id}/chat/incorrectMessage/flag`))
.to.eventually.be.rejected.and.eql({ .to.eventually.be.rejected.and.eql({
code: 404, code: 404,
@@ -38,8 +26,8 @@ describe('POST /chat/:chatId/flag', () => {
}); });
}); });
it('Returns an error when user tries to flag their own message', () => { it('Returns an error when user tries to flag their own message', async () => {
return user.post(`/groups/${group._id}/chat`, { message: testMessage}) return user.post(`/groups/${group._id}/chat`, { message: TEST_MESSAGE})
.then((result) => { .then((result) => {
return expect(user.post(`/groups/${group._id}/chat/${result.message.id}/flag`)) return expect(user.post(`/groups/${group._id}/chat/${result.message.id}/flag`))
.to.eventually.be.rejected.and.eql({ .to.eventually.be.rejected.and.eql({
@@ -50,11 +38,11 @@ describe('POST /chat/:chatId/flag', () => {
}); });
}); });
it('Flags a chat', () => { it('Flags a chat', async () => {
let message; let message;
return generateUser().then((anotherUser) => { return generateUser().then((anotherUser) => {
return anotherUser.post(`/groups/${group._id}/chat`, { message: testMessage}); return anotherUser.post(`/groups/${group._id}/chat`, { message: TEST_MESSAGE});
}) })
.then((result) => { .then((result) => {
message = result.message; message = result.message;
@@ -71,13 +59,13 @@ describe('POST /chat/:chatId/flag', () => {
}); });
}); });
it('Flags a chat with a higher flag acount when an admin flags the message', () => { it('Flags a chat with a higher flag acount when an admin flags the message', async () => {
let secondUser; let secondUser;
let message; let message;
return generateUser({'contributor.admin': true}).then((generatedUser) => { return generateUser({'contributor.admin': true}).then((generatedUser) => {
secondUser = generatedUser; secondUser = generatedUser;
return user.post(`/groups/${group._id}/chat`, { message: testMessage}); return user.post(`/groups/${group._id}/chat`, { message: TEST_MESSAGE});
}) })
.then((result) => { .then((result) => {
message = result.message; message = result.message;
@@ -95,11 +83,11 @@ describe('POST /chat/:chatId/flag', () => {
}); });
}); });
it('Returns an error when user tries to flag a message that is already flagged', () => { it('Returns an error when user tries to flag a message that is already flagged', async () => {
let message; let message;
return generateUser().then((anotherUser) => { return generateUser().then((anotherUser) => {
return anotherUser.post(`/groups/${group._id}/chat`, { message: testMessage}); return anotherUser.post(`/groups/${group._id}/chat`, { message: TEST_MESSAGE});
}) })
.then((result) => { .then((result) => {
message = result.message; message = result.message;