diff --git a/packages/xpub-faraday/config/authsome-helpers.js b/packages/xpub-faraday/config/authsome-helpers.js index 7305d983fb36d49f156e180ae42467e72e6858a5..b4d065ef716ab407e55f48d192dac4dbf3f32cd3 100644 --- a/packages/xpub-faraday/config/authsome-helpers.js +++ b/packages/xpub-faraday/config/authsome-helpers.js @@ -155,12 +155,12 @@ const stripeCollectionByRole = (coll = {}, role = '') => { return coll } -const stripeFragmentByRole = ( +const stripeFragmentByRole = ({ fragment = {}, role = '', - status = '', + status = 'draft', user = {}, -) => { +}) => { const { recommendations, files, authors } = fragment switch (role) { case 'author': diff --git a/packages/xpub-faraday/config/authsome-mode.js b/packages/xpub-faraday/config/authsome-mode.js index df82c56c6f5774c86f5404e377d41ae38b31fdd2..0579681c2298bd656d6b04da090af0a4be9ca46a 100644 --- a/packages/xpub-faraday/config/authsome-mode.js +++ b/packages/xpub-faraday/config/authsome-mode.js @@ -137,7 +137,12 @@ async function applyAuthenticatedUserPolicy(user, operation, object, context) { return { filter: fragment => - helpers.stripeFragmentByRole(fragment, permission.role, status, user), + helpers.stripeFragmentByRole({ + fragment, + role: permission.role, + status, + user, + }), } } diff --git a/packages/xpub-faraday/tests/authsome-helpers.test.js b/packages/xpub-faraday/tests/authsome-helpers.test.js index 3d0e28fc6a43a10cd706d4c011cdaedf437c0bdc..97d6798bb2685683783f7aea2c49c1b9d99ee07f 100644 --- a/packages/xpub-faraday/tests/authsome-helpers.test.js +++ b/packages/xpub-faraday/tests/authsome-helpers.test.js @@ -14,7 +14,7 @@ describe('Authsome Helpers', () => { }) it('stripeFragment - should return fragment', () => { const { fragment } = testFixtures.fragments - const result = ah.stripeFragmentByRole(fragment) + const result = ah.stripeFragmentByRole({ fragment }) expect(result).toBeTruthy() }) @@ -88,13 +88,13 @@ describe('Authsome Helpers', () => { it('stripeFragment - reviewer should not see authors email', () => { const { fragment } = testFixtures.fragments - const result = ah.stripeFragmentByRole(fragment, 'reviewer') + const result = ah.stripeFragmentByRole({ fragment, role: 'reviewer' }) const { authors = [] } = result expect(authors[0].email).toBeFalsy() }) it('stripeFragment - other roles than reviewer should see authors emails', () => { const { fragment } = testFixtures.fragments - const result = ah.stripeFragmentByRole(fragment, 'author') + const result = ah.stripeFragmentByRole({ fragment, role: 'author' }) const { authors = [] } = result expect(authors[0].email).toBeTruthy() @@ -102,13 +102,13 @@ describe('Authsome Helpers', () => { it('stripeFragment - reviewer should not see cover letter', () => { const { fragment } = testFixtures.fragments - const result = ah.stripeFragmentByRole(fragment, 'reviewer') + const result = ah.stripeFragmentByRole({ fragment, role: 'reviewer' }) const { files = {} } = result expect(files.coverLetter).toBeFalsy() }) it('stripeFragment - reviewer should not see others reviews', () => { const { fragment } = testFixtures.fragments - const result = ah.stripeFragmentByRole(fragment, 'reviewer') + const result = ah.stripeFragmentByRole({ fragment, role: 'reviewer' }) const { recommendations } = result expect(recommendations).toEqual([]) }) @@ -129,11 +129,11 @@ describe('Authsome Helpers', () => { ], }, ] - const { recommendations } = ah.stripeFragmentByRole( + const { recommendations } = ah.stripeFragmentByRole({ fragment, - 'author', - 'underReview', - ) + role: 'author', + status: 'underReview', + }) expect(recommendations).toHaveLength(0) }) it('stripeFragment - author should see reviews only if recommendation has been made', () => { @@ -152,11 +152,11 @@ describe('Authsome Helpers', () => { ], }, ] - const result = ah.stripeFragmentByRole( + const result = ah.stripeFragmentByRole({ fragment, - 'author', - 'revisionRequested', - ) + role: 'author', + status: 'revisionRequested', + }) const privateComments = get(result, 'recommendations[0].comments') expect(privateComments).toHaveLength(1) })