tests(api): Update GET groups and GET groups id tests to use await

This commit is contained in:
Blade Barringer
2016-01-01 19:33:23 -06:00
parent 9f9ba2797a
commit 195fdce9ce
2 changed files with 139 additions and 177 deletions
+38 -62
View File
@@ -11,80 +11,59 @@ describe('GET /groups', () => {
let user;
before(async () => {
let leader, createdGroup;
// Set up a world with a mixture of public and private guilds
// Invite user to a few of them
return resetHabiticaDB().then(() => {
return generateUser();
}).then((_user) => {
user = _user;
await resetHabiticaDB();
return generateUser({
balance: 10,
});
}).then((_user) => {
leader = _user;
user = await generateUser();
let leader = await generateUser({ balance: 10 });
let publicGuildWithUserAsMember = generateGroup(leader, {
name: 'public guild - is member',
type: 'guild',
privacy: 'public',
members: [leader._id, user._id],
});
let publicGuildWithUserAsMember = await generateGroup(leader, {
name: 'public guild - is member',
type: 'guild',
privacy: 'public',
members: [leader._id, user._id],
});
let publicGuildWithoutUserAsMember = generateGroup(leader, {
name: 'public guild - is not member',
type: 'guild',
privacy: 'public',
});
let publicGuildWithoutUserAsMember = await generateGroup(leader, {
name: 'public guild - is not member',
type: 'guild',
privacy: 'public',
});
let privateGuildWithUserAsMember = generateGroup(leader, {
name: 'private guild - is member',
type: 'guild',
privacy: 'private',
members: [leader._id, user._id],
});
let privateGuildWithUserAsMember = await generateGroup(leader, {
name: 'private guild - is member',
type: 'guild',
privacy: 'private',
members: [leader._id, user._id],
});
let privateGuildWithoutUserAsMember = generateGroup(leader, {
name: 'private guild - is not member',
type: 'guild',
privacy: 'private',
});
let privateGuildWithoutUserAsMember = await generateGroup(leader, {
name: 'private guild - is not member',
type: 'guild',
privacy: 'private',
});
let partyWithoutUserAsMember = generateGroup(leader, {
name: 'party name',
type: 'party',
privacy: 'private',
});
let partyWithoutUserAsMember = await generateGroup(leader, {
name: 'party name',
type: 'party',
privacy: 'private',
});
let promises = [
publicGuildWithUserAsMember,
publicGuildWithoutUserAsMember,
privateGuildWithUserAsMember,
privateGuildWithoutUserAsMember,
partyWithoutUserAsMember,
];
return Promise.all(promises);
}).then((groups) => {
return user.post('/groups', {
type: 'party',
name: 'user\'s party',
privacy: 'private',
});
let usersParty = await user.post('/groups', {
type: 'party',
name: 'user\'s party',
privacy: 'private',
});
});
context('no query passed in', () => {
xit('lists all public guilds, the tavern, user\'s party, and any private guilds that user is a part of - TODO query includes duplicates - IE, tavern is included as tavern and part of public guilds. Refactor so this is not the case');
});
context('tavern passed in as query', () => {
it('returns only the tavern', async () => {
return expect(user.get('/groups', null, {type: 'tavern'}))
await expect(user.get('/groups', null, {type: 'tavern'}))
.to.eventually.have.a.lengthOf(1)
.and.to.have.deep.property('[0]')
.and.to.have.property('_id', 'habitrpg');
@@ -92,9 +71,8 @@ describe('GET /groups', () => {
});
context('party passed in as query', () => {
it('returns only the user\'s party', async () => {
return expect(user.get('/groups', null, {type: 'party'}))
await expect(user.get('/groups', null, {type: 'party'}))
.to.eventually.have.a.lengthOf(1)
.and.to.have.deep.property('[0]')
.and.to.have.property('leader', user._id);
@@ -102,17 +80,15 @@ describe('GET /groups', () => {
});
context('public passed in as query', () => {
it('returns all public guilds', async () => {
return expect(user.get('/groups', null, {type: 'public'}))
await expect(user.get('/groups', null, {type: 'public'}))
.to.eventually.have.a.lengthOf(NUMBER_OF_PUBLIC_GUILDS);
});
});
context('guilds passed in as query', () => {
it('returns all guilds user is a part of ', async () => {
return expect(user.get('/groups', null, {type: 'guilds'}))
await expect(user.get('/groups', null, {type: 'guilds'}))
.to.eventually.have.a.lengthOf(NUMBER_OF_USERS_GUILDS);
});
});