fix(tests): cleanup continues

This commit is contained in:
SabreCat
2023-07-27 16:18:25 -05:00
parent 2cfe11619a
commit 0ba3cd3bdf
6 changed files with 11 additions and 118 deletions

View File

@@ -53,6 +53,7 @@ describe('POST /groups/:groupId/quests/reject', () => {
it('returns an error when group is a guild', async () => { it('returns an error when group is a guild', async () => {
const { group: guild, groupLeader: guildLeader } = await createAndPopulateGroup({ const { group: guild, groupLeader: guildLeader } = await createAndPopulateGroup({
groupDetails: { type: 'guild', privacy: 'private' }, groupDetails: { type: 'guild', privacy: 'private' },
upgradeToGroupPlan: true,
}); });
await expect(guildLeader.post(`/groups/${guild._id}/quests/reject`)) await expect(guildLeader.post(`/groups/${guild._id}/quests/reject`))

View File

@@ -1,6 +1,5 @@
import { import {
generateUser, createAndPopulateGroup,
generateGroup,
} from '../../../../../helpers/api-integration/v3'; } from '../../../../../helpers/api-integration/v3';
describe('POST group-tasks/:taskId/move/to/:position', () => { describe('POST group-tasks/:taskId/move/to/:position', () => {
@@ -8,8 +7,12 @@ describe('POST group-tasks/:taskId/move/to/:position', () => {
guild; guild;
beforeEach(async () => { beforeEach(async () => {
user = await generateUser({ balance: 1 }); const { group, groupLeader } = await createAndPopulateGroup({
guild = await generateGroup(user, { type: 'guild' }, { 'purchased.plan.customerId': 'group-unlimited' }); groupDetails: { type: 'guild', privacy: 'private' },
upgradeToGroupPlan: true,
});
guild = group;
user = groupLeader;
}); });
it('can move task to new position', async () => { it('can move task to new position', async () => {

View File

@@ -198,95 +198,6 @@ describe('DELETE /user', () => {
await expect(checkExistence('party', party._id)).to.eventually.eql(false); 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 () => { context('user with Google auth', async () => {

View File

@@ -51,6 +51,7 @@ describe('POST /user/purchase/:type/:key', () => {
type: 'guild', type: 'guild',
privacy: 'private', privacy: 'private',
}, },
upgradeToGroupPlan: true,
}); });
await group.update({ await group.update({
'leaderOnly.getGems': true, 'leaderOnly.getGems': true,
@@ -77,6 +78,7 @@ describe('POST /user/purchase/:type/:key', () => {
privacy: 'private', privacy: 'private',
}, },
members: 1, members: 1,
upgradeToGroupPlan: true,
}); });
await group.update({ await group.update({
'leaderOnly.getGems': true, 'leaderOnly.getGems': true,

View File

@@ -714,31 +714,6 @@ describe('POST /user/auth/local/register', () => {
expect(user.invitations.party).to.eql({}); 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', () => { context('successful login via api', () => {

View File

@@ -46,6 +46,7 @@
"startQuest": "Start Quest", "startQuest": "Start Quest",
"questInvitationDoesNotExist": "No quest invitation has been sent out yet.", "questInvitationDoesNotExist": "No quest invitation has been sent out yet.",
"questInviteNotFound": "No quest invitation found.", "questInviteNotFound": "No quest invitation found.",
"guildQuestsNotSupported": "Guilds cannot be invited on quests.",
"questNotOwned": "You don't own that quest scroll.", "questNotOwned": "You don't own that quest scroll.",
"questNotGoldPurchasable": "Quest \"<%= key %>\" is not a Gold-purchasable quest.", "questNotGoldPurchasable": "Quest \"<%= key %>\" is not a Gold-purchasable quest.",
"questNotGemPurchasable": "Quest \"<%= key %>\" is not a Gem-purchasable quest.", "questNotGemPurchasable": "Quest \"<%= key %>\" is not a Gem-purchasable quest.",