mirror of
https://github.com/sudoxnym/habitica.git
synced 2026-08-03 08:21:07 +00:00
Moved guild update tests from legacy file to new file
This commit is contained in:
parent
f4256f7bf6
commit
c3aa70ecc3
2 changed files with 78 additions and 37 deletions
|
|
@ -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
|
||||
|
|
|
|||
78
test/api/groups/groups_id-post.js
Normal file
78
test/api/groups/groups_id-post.js
Normal 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);
|
||||
});
|
||||
});
|
||||
});
|
||||
Loading…
Reference in a new issue