Moved guild update tests from legacy file to new file

This commit is contained in:
Blade Barringer 2015-10-21 18:00:25 -05:00
parent f4256f7bf6
commit c3aa70ecc3
2 changed files with 78 additions and 37 deletions

View file

@ -6,43 +6,6 @@ Group = require("../../website/src/models/group").model
app = require("../../website/src/server")
describe.skip "Guilds", ->
context "updating groups", ->
groupToUpdate = undefined
before (done) ->
request.post(baseURL + "/groups").send(
name: "TestGroup"
type: "guild"
description: "notUpdatedDesc"
).end (err, res) ->
groupToUpdate = res.body
done()
it "prevents user from updating a party when they aren't the leader", (done) ->
registerNewUser (err, tmpUser) ->
request.post(baseURL + "/groups/" + groupToUpdate._id).send(
name: "TestGroupName"
description: "updatedDesc"
)
.set("X-API-User", tmpUser._id)
.set("X-API-Key", tmpUser.apiToken)
.end (err, res) ->
expectCode res, 401
expect(res.body.err).to.equal "Only the group leader can update the group!"
done()
, false
it "allows user to update a group", (done) ->
request.post(baseURL + "/groups/" + groupToUpdate._id).send(
description: "updatedDesc"
)
.end (err, res) ->
expectCode res, 204
request.get(baseURL + "/groups/" + groupToUpdate._id).send()
.end (err, res) ->
updatedGroup = res.body
expect(updatedGroup.description).to.equal "updatedDesc"
done()
context "leaving groups", ->
it "can leave a guild", (done) ->
guildToLeave = undefined

View file

@ -0,0 +1,78 @@
import {
generateGroup,
generateUser,
requester,
} from '../../helpers/api.helper';
describe('POST /groups/:id', () => {
context('user is not the leader of the group', () => {
let api, user, otherUser, groupUserDoesNotOwn;
beforeEach((done) => {
Promise.all([
generateUser({ balance: 10 }),
generateUser({ balance: 10 }),
]).then((users) => {
user = users[0];
otherUser = users[1];
api = requester(user);
return generateGroup(otherUser, {
name: 'Group not Owned By User',
type: 'guild',
privacy: 'public',
members: [user, otherUser],
});
}).then((group) => {
groupUserDoesNotOwn = group;
done();
}).catch(done);
});
it('does not allow user to update group', (done) => {
api.post(`/groups/${groupUserDoesNotOwn._id}`, {
name: 'Change'
}).then(done).catch((err) => {
expect(err.code).to.eql(401);
expect(err.text).to.eql('Only the group leader can update the group!');
done();
});
});
});
context('user is the leader of the group', () => {
let api, user, usersGroup;
beforeEach((done) => {
generateUser({
balance: 10,
}).then((_user) => {
user = _user;
api = requester(user);
return generateGroup(user, {
name: 'Original Group Title',
type: 'guild',
privacy: 'public',
});
}).then((group) => {
usersGroup = group;
done();
}).catch(done);
});
it('allows user to update group', (done) => {
api.post(`/groups/${usersGroup._id}`, {
name: 'New Group Title',
description: 'New group description',
}).then((group) => {
return api.get(`/groups/${usersGroup._id}`);
}).then((group) => {
expect(group.name).to.eql('New Group Title');
expect(group.description).to.eql('New group description');
done();
}).catch(done);
});
});
});