From 99217e865cb4589b3aac5320d62c53555c21685f Mon Sep 17 00:00:00 2001 From: Keith Holliday Date: Mon, 11 Jan 2016 12:53:03 -0600 Subject: [PATCH 1/3] Added initial group update tests --- .../v3/integration/groups/PUT-groups.test.js | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 test/api/v3/integration/groups/PUT-groups.test.js diff --git a/test/api/v3/integration/groups/PUT-groups.test.js b/test/api/v3/integration/groups/PUT-groups.test.js new file mode 100644 index 0000000000..5a7abf3467 --- /dev/null +++ b/test/api/v3/integration/groups/PUT-groups.test.js @@ -0,0 +1,50 @@ +import { + generateUser, + translate as t, +} from '../../../../helpers/api-integration.helper'; + +describe('Put /group', () => { + let groupLeader; + let groupName = 'Test Public Guild'; + let groupType = 'guild'; + + beforeEach(async () => { + groupLeader = await generateUser({balance: 1}); + }); + + xit('returns an error when a non group leader tries to update', async () => { + let groupToUpdate = await groupLeader.post('/groups', { + name: groupName, + type: groupType, + }); + let groupUpdatedName = 'Test Public Guild Updated'; + let memberToAttemptUpdate = await generateUser(); + + await groupLeader.post(`/groups/${groupToUpdate._id}/invite`, { + uuids: [memberToAttemptUpdate._id], + }); + await memberToAttemptUpdate.post(`/groups/${groupToUpdate._id}/join`); + + await expect(memberToAttemptUpdate.put(`/groups/${groupToUpdate._id}`, { + name: groupUpdatedName, + })) + .to.eventually.be.rejected.and.eql({ + code: 401, + error: 'NotAuthorized', + message: t('messageGroupOnlyLeaderCanUpdate'), + }); + }); + + it('updates a group', async () => { + let groupUpdatedName = 'Test Public Guild Updated'; + let group = await groupLeader.post('/groups', { + name: groupName, + type: groupType, + }); + let updatedGroup = await groupLeader.put(`/groups/${group._id}`, { + name: groupUpdatedName, + }); + + expect(updatedGroup.name).to.equal(groupUpdatedName); + }); +}); From da02f8ca0f333df518108be475feedbba94ec904 Mon Sep 17 00:00:00 2001 From: Keith Holliday Date: Tue, 12 Jan 2016 11:48:07 -0600 Subject: [PATCH 2/3] Removed pending status on test --- test/api/v3/integration/groups/PUT-groups.test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/api/v3/integration/groups/PUT-groups.test.js b/test/api/v3/integration/groups/PUT-groups.test.js index 5a7abf3467..38c17df823 100644 --- a/test/api/v3/integration/groups/PUT-groups.test.js +++ b/test/api/v3/integration/groups/PUT-groups.test.js @@ -12,7 +12,7 @@ describe('Put /group', () => { groupLeader = await generateUser({balance: 1}); }); - xit('returns an error when a non group leader tries to update', async () => { + it('returns an error when a non group leader tries to update', async () => { let groupToUpdate = await groupLeader.post('/groups', { name: groupName, type: groupType, From e4fd37f3d0f450f11e199b73aa20f2f3c3337527 Mon Sep 17 00:00:00 2001 From: Keith Holliday Date: Tue, 12 Jan 2016 13:08:13 -0600 Subject: [PATCH 3/3] Cleaned up code style and abstracted variables that are reused. --- .../v3/integration/groups/PUT-groups.test.js | 23 ++++++++----------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/test/api/v3/integration/groups/PUT-groups.test.js b/test/api/v3/integration/groups/PUT-groups.test.js index 38c17df823..6700374697 100644 --- a/test/api/v3/integration/groups/PUT-groups.test.js +++ b/test/api/v3/integration/groups/PUT-groups.test.js @@ -3,21 +3,22 @@ import { translate as t, } from '../../../../helpers/api-integration.helper'; -describe('Put /group', () => { +describe('PUT /group', () => { let groupLeader; let groupName = 'Test Public Guild'; let groupType = 'guild'; + let groupToUpdate; + let groupUpdatedName = 'Test Public Guild Updated'; beforeEach(async () => { groupLeader = await generateUser({balance: 1}); - }); - - it('returns an error when a non group leader tries to update', async () => { - let groupToUpdate = await groupLeader.post('/groups', { + groupToUpdate = await groupLeader.post('/groups', { name: groupName, type: groupType, }); - let groupUpdatedName = 'Test Public Guild Updated'; + }); + + it('returns an error when a non group leader tries to update', async () => { let memberToAttemptUpdate = await generateUser(); await groupLeader.post(`/groups/${groupToUpdate._id}/invite`, { @@ -27,8 +28,7 @@ describe('Put /group', () => { await expect(memberToAttemptUpdate.put(`/groups/${groupToUpdate._id}`, { name: groupUpdatedName, - })) - .to.eventually.be.rejected.and.eql({ + })).to.eventually.be.rejected.and.eql({ code: 401, error: 'NotAuthorized', message: t('messageGroupOnlyLeaderCanUpdate'), @@ -36,12 +36,7 @@ describe('Put /group', () => { }); it('updates a group', async () => { - let groupUpdatedName = 'Test Public Guild Updated'; - let group = await groupLeader.post('/groups', { - name: groupName, - type: groupType, - }); - let updatedGroup = await groupLeader.put(`/groups/${group._id}`, { + let updatedGroup = await groupLeader.put(`/groups/${groupToUpdate._id}`, { name: groupUpdatedName, });