From 148c65123637959e82aef3eca1d92f1f038816d6 Mon Sep 17 00:00:00 2001 From: Tania Fecheta <tania.fecheta@thinslices.com> Date: Tue, 18 Dec 2018 11:31:24 +0200 Subject: [PATCH] test(isAdmin): added unit tests for isAdmin function --- .../src/services/User.js | 2 +- .../src/tests/collection.test.js | 24 ++++++++++++++++++- .../src/routes/collections/delete.js | 2 +- .../fragments/notifications/notifications.js | 4 +--- 4 files changed, 26 insertions(+), 6 deletions(-) diff --git a/packages/component-helper-service/src/services/User.js b/packages/component-helper-service/src/services/User.js index 821528b42..718566655 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 167153af8..1cda1f6e6 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 62ed1fc8c..c5c7ba449 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 e37133b84..3fa3d5df6 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, -- GitLab