Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 4 additions & 6 deletions src/services/team.js
Original file line number Diff line number Diff line change
Expand Up @@ -127,23 +127,21 @@ export async function inviteMember(id, email, admin) {
}

export async function acceptInvite(request_id, admin) {
const teamInvite = await getTeamInvite(
{ _id: request_id });
const teamInvite = await getTeamInvite({ _id: request_id });

await teamInvite.populate({
path: 'team'
});

const team = teamInvite.team;

if (team.length) {
await addMemberToTeam(admin, team[0]);
teamInvite.deleteOne();
} else {
if (!team.length) {
await teamInvite.deleteOne();
throw new BadRequestError('Team does not exist anymore');
}

await addMemberToTeam(admin, team[0]);
await teamInvite.deleteOne();
return admin;
}

Expand Down
16 changes: 8 additions & 8 deletions tests/team.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -313,26 +313,26 @@ describe('Updating team members tests', () => {

expect(response.body.team).toEqual(team1.name);
expect(response.body.domain).toEqual(domainDocument.name);
});

// Should get invite already made
await request(app)
test('TEAM_SUITE - Should clean invite request after accepted', async () => {
let response = await request(app)
.post(`/team/member/invite/${team1Id}`)
.set('Authorization', `Bearer ${adminMasterAccountToken}`)
.send({
email: adminMasterAccount.email
}).expect(201);

// Should accept invitation
let teamInvite = await TeamInvite.findById(response.body._id).exec();
expect(teamInvite).not.toBeNull();

await request(app)
.post(`/team/member/invite/accept/${teamInvite._id}`)
.set('Authorization', `Bearer ${adminMasterAccountToken}`)
.send().expect(200);

// Should NOT accept invitation - Already used
await request(app)
.post(`/team/member/invite/accept/${teamInvite._id}`)
.set('Authorization', `Bearer ${adminMasterAccountToken}`)
.send().expect(400);
teamInvite = await TeamInvite.findById(teamInvite._id).exec();
expect(teamInvite).toBeNull();
});

test('TEAM_SUITE - Should NOT create invite request - Invalid Team ID', async () => {
Expand Down