diff --git a/packages/component-invite/src/routes/collectionsInvitations/post.js b/packages/component-invite/src/routes/collectionsInvitations/post.js index 0ebecc69a78897bb57e391319335dcfe334935dc..d00b18ab58471780fa1add24ab3273ff63b85887 100644 --- a/packages/component-invite/src/routes/collectionsInvitations/post.js +++ b/packages/component-invite/src/routes/collectionsInvitations/post.js @@ -46,7 +46,7 @@ module.exports = models => async (req, res) => { await teamHelper.setupManuscriptTeam(models, user, collectionId, role) // find if there already is a matching invitation in the collection - await collectionHelper.addInvitation(collection) + await collectionHelper.addInvitation(collection, user.id, role) try { await mailService.setupAssignEmail( diff --git a/packages/component-invite/src/tests/collectionsInvitations/post.test.js b/packages/component-invite/src/tests/collectionsInvitations/post.test.js index cf7cce909137e8122438840cb7545ae9b4fa5130..cebe37f0a1042154634447f7be619236a2e2d70c 100644 --- a/packages/component-invite/src/tests/collectionsInvitations/post.test.js +++ b/packages/component-invite/src/tests/collectionsInvitations/post.test.js @@ -70,6 +70,10 @@ describe('Post collections invitations route handler', () => { expect(standardCollection.invitations.length).toBeGreaterThan(initialSize) expect(heTeam.members).toContain(author.id) expect(author.teams).toContain(heTeam.id) + const matchingInvitation = standardCollection.invitations.find( + inv => inv.userId === author.id && inv.role === body.role, + ) + expect(matchingInvitation).toBeDefined() }) it('should return an error when inviting his self', async () => { body.role = roles[random(0, roles.length - 1)]