diff --git a/test/api/v3/integration/quests/POST-groups_groupid_quests_reject.test.js b/test/api/v3/integration/quests/POST-groups_groupid_quests_reject.test.js index 4f897d2b2b..e956c71664 100644 --- a/test/api/v3/integration/quests/POST-groups_groupid_quests_reject.test.js +++ b/test/api/v3/integration/quests/POST-groups_groupid_quests_reject.test.js @@ -53,6 +53,7 @@ describe('POST /groups/:groupId/quests/reject', () => { it('returns an error when group is a guild', async () => { const { group: guild, groupLeader: guildLeader } = await createAndPopulateGroup({ groupDetails: { type: 'guild', privacy: 'private' }, + upgradeToGroupPlan: true, }); await expect(guildLeader.post(`/groups/${guild._id}/quests/reject`)) diff --git a/test/api/v3/integration/tasks/groups/POST-tasks_move_taskId_to_position.test.js b/test/api/v3/integration/tasks/groups/POST-tasks_move_taskId_to_position.test.js index 3255f85206..113a2f3f3c 100644 --- a/test/api/v3/integration/tasks/groups/POST-tasks_move_taskId_to_position.test.js +++ b/test/api/v3/integration/tasks/groups/POST-tasks_move_taskId_to_position.test.js @@ -1,6 +1,5 @@ import { - generateUser, - generateGroup, + createAndPopulateGroup, } from '../../../../../helpers/api-integration/v3'; describe('POST group-tasks/:taskId/move/to/:position', () => { @@ -8,8 +7,12 @@ describe('POST group-tasks/:taskId/move/to/:position', () => { guild; beforeEach(async () => { - user = await generateUser({ balance: 1 }); - guild = await generateGroup(user, { type: 'guild' }, { 'purchased.plan.customerId': 'group-unlimited' }); + const { group, groupLeader } = await createAndPopulateGroup({ + groupDetails: { type: 'guild', privacy: 'private' }, + upgradeToGroupPlan: true, + }); + guild = group; + user = groupLeader; }); it('can move task to new position', async () => { diff --git a/test/api/v3/integration/user/DELETE-user.test.js b/test/api/v3/integration/user/DELETE-user.test.js index 5c176fe141..5319eee587 100644 --- a/test/api/v3/integration/user/DELETE-user.test.js +++ b/test/api/v3/integration/user/DELETE-user.test.js @@ -198,95 +198,6 @@ describe('DELETE /user', () => { await expect(checkExistence('party', party._id)).to.eventually.eql(false); }); }); - - context('last member of a private guild', () => { - let privateGuild; - - beforeEach(async () => { - privateGuild = await generateGroup(user, { - type: 'guild', - privacy: 'private', - }); - }); - - it('deletes guild when user is the only member', async () => { - await user.del('/user', { - password, - }); - await expect(checkExistence('groups', privateGuild._id)).to.eventually.eql(false); - }); - }); - - context('groups user is leader of', () => { - let guild; let oldLeader; let - newLeader; - - beforeEach(async () => { - const { group, groupLeader, members } = await createAndPopulateGroup({ - groupDetails: { - type: 'guild', - privacy: 'public', - }, - members: 1, - }); - - guild = group; - newLeader = members[0]; // eslint-disable-line prefer-destructuring - oldLeader = groupLeader; - }); - - it('chooses new group leader for any group user was the leader of', async () => { - await oldLeader.del('/user', { - password, - }); - - const updatedGuild = await newLeader.get(`/groups/${guild._id}`); - - expect(updatedGuild.leader).to.exist; - expect(updatedGuild.leader._id).to.not.eql(oldLeader._id); - }); - }); - - context('groups user is a part of', () => { - let group1; let group2; let userToDelete; let - otherUser; - - beforeEach(async () => { - userToDelete = await generateUser({ balance: 10 }); - - group1 = await generateGroup(userToDelete, { - type: 'guild', - privacy: 'public', - }); - - const { group, members } = await createAndPopulateGroup({ - groupDetails: { - type: 'guild', - privacy: 'public', - }, - members: 3, - }); - - group2 = group; - otherUser = members[0]; // eslint-disable-line prefer-destructuring - - await userToDelete.post(`/groups/${group2._id}/join`); - }); - - it('removes user from all groups user was a part of', async () => { - await userToDelete.del('/user', { - password, - }); - - const updatedGroup1Members = await otherUser.get(`/groups/${group1._id}/members`); - const updatedGroup2Members = await otherUser.get(`/groups/${group2._id}/members`); - const userInGroup = find(updatedGroup2Members, member => member._id === userToDelete._id); - - expect(updatedGroup1Members).to.be.empty; - expect(updatedGroup2Members).to.not.be.empty; - expect(userInGroup).to.not.exist; - }); - }); }); context('user with Google auth', async () => { diff --git a/test/api/v3/integration/user/POST-user_purchase.test.js b/test/api/v3/integration/user/POST-user_purchase.test.js index 502bcb3790..0fd8871d2b 100644 --- a/test/api/v3/integration/user/POST-user_purchase.test.js +++ b/test/api/v3/integration/user/POST-user_purchase.test.js @@ -51,6 +51,7 @@ describe('POST /user/purchase/:type/:key', () => { type: 'guild', privacy: 'private', }, + upgradeToGroupPlan: true, }); await group.update({ 'leaderOnly.getGems': true, @@ -77,6 +78,7 @@ describe('POST /user/purchase/:type/:key', () => { privacy: 'private', }, members: 1, + upgradeToGroupPlan: true, }); await group.update({ 'leaderOnly.getGems': true, diff --git a/test/api/v3/integration/user/auth/POST-register_local.test.js b/test/api/v3/integration/user/auth/POST-register_local.test.js index 6e548051cd..d97751fd91 100644 --- a/test/api/v3/integration/user/auth/POST-register_local.test.js +++ b/test/api/v3/integration/user/auth/POST-register_local.test.js @@ -714,31 +714,6 @@ describe('POST /user/auth/local/register', () => { expect(user.invitations.party).to.eql({}); }); - - it('adds a user to a guild on an invite of type other than party', async () => { - const { group, groupLeader } = await createAndPopulateGroup({ - groupDetails: { type: 'guild', privacy: 'private' }, - }); - - const invite = encrypt(JSON.stringify({ - id: group._id, - inviter: groupLeader._id, - sentAt: Date.now(), - })); - - const user = await api.post(`/user/auth/local/register?groupInvite=${invite}`, { - username, - email, - password, - confirmPassword: password, - }); - - expect(user.invitations.guilds[0]).to.eql({ - id: group._id, - name: group.name, - inviter: groupLeader._id, - }); - }); }); context('successful login via api', () => { diff --git a/website/common/locales/en/quests.json b/website/common/locales/en/quests.json index c2b72b5ec9..688b7021d2 100644 --- a/website/common/locales/en/quests.json +++ b/website/common/locales/en/quests.json @@ -46,6 +46,7 @@ "startQuest": "Start Quest", "questInvitationDoesNotExist": "No quest invitation has been sent out yet.", "questInviteNotFound": "No quest invitation found.", + "guildQuestsNotSupported": "Guilds cannot be invited on quests.", "questNotOwned": "You don't own that quest scroll.", "questNotGoldPurchasable": "Quest \"<%= key %>\" is not a Gold-purchasable quest.", "questNotGemPurchasable": "Quest \"<%= key %>\" is not a Gem-purchasable quest.",