diff --git a/services/web/app/coffee/Features/Collaborators/CollaboratorsHandler.coffee b/services/web/app/coffee/Features/Collaborators/CollaboratorsHandler.coffee index e7adb6df3f..5616de886b 100644 --- a/services/web/app/coffee/Features/Collaborators/CollaboratorsHandler.coffee +++ b/services/web/app/coffee/Features/Collaborators/CollaboratorsHandler.coffee @@ -40,6 +40,11 @@ module.exports = CollaboratorsHandler = return callback(error) if error? return callback null, members.map (m) -> m.id + getInvitedMemberIds: (project_id, callback = (error, member_ids) ->) -> + CollaboratorsHandler.getMemberIdsWithPrivilegeLevels project_id, (error, members) -> + return callback(error) if error? + return callback null, members.filter((m) -> m.source == Sources.INVITE).map((m) -> m.id) + USER_PROJECTION: { _id: 1, email: 1, diff --git a/services/web/test/UnitTests/coffee/Collaborators/CollaboratorsHandlerTests.coffee b/services/web/test/UnitTests/coffee/Collaborators/CollaboratorsHandlerTests.coffee index e5928f44b5..c447379b90 100644 --- a/services/web/test/UnitTests/coffee/Collaborators/CollaboratorsHandlerTests.coffee +++ b/services/web/test/UnitTests/coffee/Collaborators/CollaboratorsHandlerTests.coffee @@ -62,7 +62,7 @@ describe "CollaboratorsHandler", -> @CollaboratorHandler.getMemberIdsWithPrivilegeLevels = sinon.stub() @CollaboratorHandler.getMemberIdsWithPrivilegeLevels .withArgs(@project_id) - .yields(null, [{id: "member-id-1"}, {id: "member-id-2"}]) + .yields(null, [{id: "member-id-1", source: 'invite'}, {id: "member-id-2", source: 'token'}]) @CollaboratorHandler.getMemberIds @project_id, @callback it "should return the ids", -> @@ -70,6 +70,19 @@ describe "CollaboratorsHandler", -> .calledWith(null, ["member-id-1", "member-id-2"]) .should.equal true + describe "getInvitedMemberIds", -> + beforeEach -> + @CollaboratorHandler.getMemberIdsWithPrivilegeLevels = sinon.stub() + @CollaboratorHandler.getMemberIdsWithPrivilegeLevels + .withArgs(@project_id) + .yields(null, [{id: "member-id-1", source: 'invite'}, {id: "member-id-2", source: 'token'}]) + @CollaboratorHandler.getInvitedMemberIds @project_id, @callback + + it "should return the invited ids", -> + @callback + .calledWith(null, ["member-id-1"]) + .should.equal true + describe "getMembersWithPrivilegeLevels", -> beforeEach -> @CollaboratorHandler.getMemberIdsWithPrivilegeLevels = sinon.stub()