From 4796e4d3f516fd3325eaf04b86fe54e6d6394337 Mon Sep 17 00:00:00 2001 From: petruki <31597636+petruki@users.noreply.github.com> Date: Tue, 11 Jun 2024 20:05:31 -0700 Subject: [PATCH] Fixes team invite to purge when accepted --- src/services/team.js | 10 ++++------ tests/team.test.js | 16 ++++++++-------- 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/src/services/team.js b/src/services/team.js index a86b2d3..9d11aca 100644 --- a/src/services/team.js +++ b/src/services/team.js @@ -127,8 +127,7 @@ 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' @@ -136,14 +135,13 @@ export async function acceptInvite(request_id, admin) { 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; } diff --git a/tests/team.test.js b/tests/team.test.js index 4ef6ba0..c0eccd2 100644 --- a/tests/team.test.js +++ b/tests/team.test.js @@ -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 () => {