tests(api): Add sync method to api objects

This commit is contained in:
Blade Barringer
2016-01-16 21:50:54 -06:00
parent 87d4c68bea
commit 96f6bbfb0c
6 changed files with 45 additions and 20 deletions

View File

@@ -58,10 +58,10 @@ describe('POST /groups/:id', () => {
description: 'New group description',
});
let group = await user.get(`/groups/${usersGroup._id}`);
await usersGroup.sync();
expect(group.name).to.eql('New Group Title');
expect(group.description).to.eql('New group description');
expect(usersGroup.name).to.eql('New Group Title');
expect(usersGroup.description).to.eql('New group description');
});
});
});

View File

@@ -3,7 +3,7 @@ import {
generateUser,
translate as t,
} from '../../../helpers/api-integration/v2';
import { each, find } from 'lodash';
import { each } from 'lodash';
describe('POST /groups/:id/join', () => {
context('user is already a member of the group', () => {
@@ -30,10 +30,9 @@ describe('POST /groups/:id/join', () => {
it(`allows user to join a ${groupType}`, async () => {
await invitee.post(`/groups/${group._id}/join`);
let members = (await invitee.get(`/groups/${group._id}`)).members;
let userInGroup = find(members, '_id', invitee._id);
await group.sync();
expect(userInGroup).to.exist;
expect(group.members).to.include(invitee._id);
});
});
});
@@ -79,10 +78,9 @@ describe('POST /groups/:id/join', () => {
it('allows user to join a public guild', async () => {
await user.post(`/groups/${group._id}/join`);
let members = (await user.get(`/groups/${group._id}`)).members;
let userInGroup = find(members, '_id', user._id);
await group.sync();
expect(userInGroup).to.exist;
expect(group.members).to.include(user._id);
});
});
@@ -105,7 +103,9 @@ describe('POST /groups/:id/join', () => {
it('makes the joining user the leader', async () => {
await user.post(`/groups/${group._id}/join`);
await expect(user.get(`/groups/${group._id}`)).to.eventually.have.deep.property('leader._id', user._id);
await group.sync();
await expect(group.leader).to.eql(user._id);
});
});
});

View File

@@ -2,7 +2,6 @@ import {
checkExistence,
createAndPopulateGroup,
} from '../../../helpers/api-integration/v2';
import { find } from 'lodash';
describe('POST /groups/:id/leave', () => {
context('user is not member of the group', () => {
@@ -29,10 +28,9 @@ describe('POST /groups/:id/leave', () => {
it('leaves the group', async () => {
await user.post(`/groups/${group._id}/leave`);
let members = (await user.get(`/groups/${group._id}`)).members;
let userInGroup = find(members, '_id', user._id);
await group.sync();
expect(userInGroup).to.not.be.ok;
expect(group.members).to.not.include(user._id);
});
});

View File

@@ -14,15 +14,17 @@ describe('PUT /user', () => {
context('Allowed Operations', () => {
it('updates the user', async () => {
let updatedUser = await user.put('/user', {
await user.put('/user', {
'profile.name': 'Frodo',
'preferences.costume': true,
'stats.hp': 14,
});
expect(updatedUser.profile.name).to.eql('Frodo');
expect(updatedUser.preferences.costume).to.eql(true);
expect(updatedUser.stats.hp).to.eql(14);
await user.sync();
expect(user.profile.name).to.eql('Frodo');
expect(user.preferences.costume).to.eql(true);
expect(user.stats.hp).to.eql(14);
});
});