diff --git a/packages/component-helper-service/src/services/User.js b/packages/component-helper-service/src/services/User.js index 821528b4290bdb7baa2883615b64bca1b7b77f1f..71856665536ec45e22159f46fc266bc5ff226953 100644 --- a/packages/component-helper-service/src/services/User.js +++ b/packages/component-helper-service/src/services/User.js @@ -64,7 +64,7 @@ class User { return eics } - async userIsAdmin(user) { + async isAdmin(user) { const { UserModel } = this const users = await UserModel.all() const admin = users.filter(user => user.admin) diff --git a/packages/component-helper-service/src/tests/collection.test.js b/packages/component-helper-service/src/tests/collection.test.js index 167153af8c03fc7149c36a9e8c149de351c0f7db..1cda1f6e6db1141d9f7b4f77ab22990cdfe14abb 100644 --- a/packages/component-helper-service/src/tests/collection.test.js +++ b/packages/component-helper-service/src/tests/collection.test.js @@ -5,7 +5,7 @@ const { cloneDeep } = require('lodash') const fixturesService = require('pubsweet-component-fixture-service') const { fixtures, Model } = fixturesService -const { Collection, Fragment } = require('../Helper') +const { Collection, Fragment, User } = require('../Helper') describe('Collection helper', () => { let testFixtures = {} @@ -231,4 +231,26 @@ describe('Collection helper', () => { expect(canHEMakeRecommendation).toBe(false) }) }) + + describe('isAdmin', () => { + it('should return true if user is admin', async () => { + const { admin } = testFixtures.users + const adminId = admin.id + const UserModel = models.User + const userHelper = new User({ UserModel }) + const isAdmin = await userHelper.isAdmin(adminId) + + expect(isAdmin).toBe(true) + }) + + it('should return false if user is not admin', async () => { + const { reviewer } = testFixtures.users + const reviewerId = reviewer.id + const UserModel = models.User + const userHelper = new User({ UserModel }) + const isAdmin = await userHelper.isAdmin(reviewerId) + + expect(isAdmin).toBe(false) + }) + }) }) diff --git a/packages/component-manuscript-manager/src/routes/collections/delete.js b/packages/component-manuscript-manager/src/routes/collections/delete.js index 62ed1fc8c760f3f1c2aa0385e3a0db337dcb8be5..c5c7ba4498fd65f86d13313054a4f365959691d7 100644 --- a/packages/component-manuscript-manager/src/routes/collections/delete.js +++ b/packages/component-manuscript-manager/src/routes/collections/delete.js @@ -62,7 +62,7 @@ module.exports = models => async (req, res) => { fragment.files.manuscripts, fragment.files.coverLetter, fragment.files.supplementary, - fragmentId, + { id: fragmentId }, ) fileKeys = fileKeys.map(file => file.id) diff --git a/packages/component-manuscript-manager/src/routes/fragments/notifications/notifications.js b/packages/component-manuscript-manager/src/routes/fragments/notifications/notifications.js index e37133b841c87adcd4b084dc152b959cec912aa6..3fa3d5df6bf4f2891a8b52bca3891ee7eab69cc2 100644 --- a/packages/component-manuscript-manager/src/routes/fragments/notifications/notifications.js +++ b/packages/component-manuscript-manager/src/routes/fragments/notifications/notifications.js @@ -57,9 +57,7 @@ module.exports = { const fragmentHelper = new Fragment({ fragment }) const collectionOwners = get(collection, 'owners') const userHelper = new User({ UserModel }) - const adminOwner = collectionOwners.find(owner => - userHelper.userIsAdmin(owner), - ) + const adminOwner = collectionOwners.find(owner => userHelper.isAdmin(owner)) const handlingEditor = get(collection, 'handlingEditor') const parsedFragment = await fragmentHelper.getFragmentData({ handlingEditor,