diff --git a/packages/strapi-plugin-content-manager/admin/src/containers/RBACManager/useSyncRbac.js b/packages/strapi-plugin-content-manager/admin/src/containers/RBACManager/useSyncRbac.js index 6b28287bb8..12b44f16a6 100644 --- a/packages/strapi-plugin-content-manager/admin/src/containers/RBACManager/useSyncRbac.js +++ b/packages/strapi-plugin-content-manager/admin/src/containers/RBACManager/useSyncRbac.js @@ -1,12 +1,7 @@ import { useEffect } from 'react'; import { useDispatch, useSelector } from 'react-redux'; -import pluginId from '../../pluginId'; import { resetPermissions, setPermissions } from './actions'; - -const selectPermissions = state => state.get(`${pluginId}_rbacManager`).permissions; - -const selectCollectionTypePermissions = state => - state.get('permissionsManager').collectionTypesRelatedPermissions; +import { selectPermissions, selectCollectionTypePermissions } from '../../selectors'; const useSyncRbac = (query, collectionTypeUID) => { const collectionTypesRelatedPermissions = useSelector(selectCollectionTypePermissions); diff --git a/packages/strapi-plugin-content-manager/admin/src/selectors.js b/packages/strapi-plugin-content-manager/admin/src/selectors.js new file mode 100644 index 0000000000..c9c1d3ca77 --- /dev/null +++ b/packages/strapi-plugin-content-manager/admin/src/selectors.js @@ -0,0 +1,6 @@ +import pluginId from './pluginId'; + +export const selectPermissions = state => state.get(`${pluginId}_rbacManager`).permissions; + +export const selectCollectionTypePermissions = state => + state.get('permissionsManager').collectionTypesRelatedPermissions; diff --git a/packages/strapi-plugin-content-manager/admin/src/tests/selectors.test.js b/packages/strapi-plugin-content-manager/admin/src/tests/selectors.test.js new file mode 100644 index 0000000000..e26e982b17 --- /dev/null +++ b/packages/strapi-plugin-content-manager/admin/src/tests/selectors.test.js @@ -0,0 +1,43 @@ +import { selectPermissions, selectCollectionTypePermissions } from '../selectors'; + +describe('selectors', () => { + let store; + + beforeEach(() => { + store = new Map(); + }); + + describe('selectPermissions', () => { + it('resolves the permissions key of the "content-manager_rbacManager" store key', () => { + store.set('content-manager_rbacManager', { + permissions: { + some: 'permission', + }, + }); + + const actual = selectPermissions(store); + const expected = { + some: 'permission', + }; + + expect(actual).toEqual(expected); + }); + }); + + describe('selectCollectionTypePermissions', () => { + it('resolves the permissions key of the "permissionsManager" store key', () => { + store.set('permissionsManager', { + collectionTypesRelatedPermissions: { + some: 'permission again', + }, + }); + + const actual = selectCollectionTypePermissions(store); + const expected = { + some: 'permission again', + }; + + expect(actual).toEqual(expected); + }); + }); +});