diff --git a/services/web/app/src/Features/UserMembership/UserMembershipsHandler.js b/services/web/app/src/Features/UserMembership/UserMembershipsHandler.js index 6cd95614ab..cbd12e47cd 100644 --- a/services/web/app/src/Features/UserMembership/UserMembershipsHandler.js +++ b/services/web/app/src/Features/UserMembership/UserMembershipsHandler.js @@ -51,11 +51,10 @@ const UserMembershipsHandler = { } const removeOperation = { $pull: {} } removeOperation.$pull[entityConfig.fields.write] = userId - EntityModels[entityConfig.modelName].updateMany( - {}, - removeOperation, - callback - ) + EntityModels[entityConfig.modelName] + .updateMany({}, removeOperation) + .then(result => callback(null, result)) + .catch(callback) }, getEntitiesByUser(entityConfig, userId, callback) { @@ -64,22 +63,19 @@ const UserMembershipsHandler = { } const query = Object.assign({}, entityConfig.baseQuery) query[entityConfig.fields.access] = userId - EntityModels[entityConfig.modelName].find( - query, - function (error, entities) { + EntityModels[entityConfig.modelName] + .find(query) + .then(entities => { if (entities == null) { entities = [] } - if (error != null) { - return callback(error) - } async.mapSeries( entities, (entity, cb) => entity.fetchV1Data(cb), callback ) - } - ) + }) + .catch(callback) }, } diff --git a/services/web/test/unit/src/UserMembership/UserMembershipsHandlerTests.js b/services/web/test/unit/src/UserMembership/UserMembershipsHandlerTests.js index f0e8f42c67..ba349f213f 100644 --- a/services/web/test/unit/src/UserMembership/UserMembershipsHandlerTests.js +++ b/services/web/test/unit/src/UserMembership/UserMembershipsHandlerTests.js @@ -21,9 +21,9 @@ describe('UserMembershipsHandler', function () { beforeEach(function () { this.user = { _id: new ObjectId() } - this.Institution = { updateMany: sinon.stub().yields(null) } - this.Subscription = { updateMany: sinon.stub().yields(null) } - this.Publisher = { updateMany: sinon.stub().yields(null) } + this.Institution = { updateMany: sinon.stub().resolves(null) } + this.Subscription = { updateMany: sinon.stub().resolves(null) } + this.Publisher = { updateMany: sinon.stub().resolves(null) } return (this.UserMembershipsHandler = SandboxedModule.require(modulePath, { requires: { '../../models/Institution': {