diff --git a/packages/plugins/users-permissions/admin/src/components/Policies/index.js b/packages/plugins/users-permissions/admin/src/components/Policies/index.js
index 5a684eab9a..775c4561a7 100644
--- a/packages/plugins/users-permissions/admin/src/components/Policies/index.js
+++ b/packages/plugins/users-permissions/admin/src/components/Policies/index.js
@@ -25,7 +25,7 @@ const Policies = () => {
{formatMessage({
id: 'users-permissions.Policies.header.hint',
- description:
+ defaultMessage:
"Select the application's actions or the plugin's actions and click on the cog icon to display the bound route",
})}
diff --git a/packages/plugins/users-permissions/admin/src/hooks/usePlugins/index.js b/packages/plugins/users-permissions/admin/src/hooks/usePlugins/index.js
index 1a2704fe63..2719ce2c06 100644
--- a/packages/plugins/users-permissions/admin/src/hooks/usePlugins/index.js
+++ b/packages/plugins/users-permissions/admin/src/hooks/usePlugins/index.js
@@ -26,7 +26,6 @@ const usePlugins = (shouldFetchData = true) => {
const [{ permissions }, { routes }, { policies }] = await Promise.all(
[`/${pluginId}/permissions`, `/${pluginId}/routes`, `/${pluginId}/policies`].map(
async endpoint => {
- console.log('fetching', endpoint);
const res = await axiosInstance.get(endpoint);
return res.data;
diff --git a/packages/plugins/users-permissions/admin/src/pages/Roles/EditPage/index.js b/packages/plugins/users-permissions/admin/src/pages/Roles/EditPage/index.js
index f3eae3e641..6b1a8d53da 100644
--- a/packages/plugins/users-permissions/admin/src/pages/Roles/EditPage/index.js
+++ b/packages/plugins/users-permissions/admin/src/pages/Roles/EditPage/index.js
@@ -33,8 +33,6 @@ const EditPage = () => {
const { role, onSubmitSucceeded, isLoading: isLoadingRole } = useFetchRole(id);
const permissionsRef = useRef();
- console.log({ routes, isLoadingPlugins });
-
const handleCreateRoleSubmit = async data => {
// Set loading state
lockApp();
diff --git a/packages/plugins/users-permissions/admin/src/pages/Roles/EditPage/tests/index.test.js b/packages/plugins/users-permissions/admin/src/pages/Roles/EditPage/tests/index.test.js
index 7183d455c9..f486638f2e 100644
--- a/packages/plugins/users-permissions/admin/src/pages/Roles/EditPage/tests/index.test.js
+++ b/packages/plugins/users-permissions/admin/src/pages/Roles/EditPage/tests/index.test.js
@@ -5,26 +5,21 @@ import { ThemeProvider, lightTheme } from '@strapi/parts';
import { Router, Switch, Route } from 'react-router-dom';
import { IntlProvider } from 'react-intl';
import { createMemoryHistory } from 'history';
-
import pluginId from '../../../../pluginId';
import RolesEditPage from '..';
import server from './server';
-jest.mock('@strapi/helper-plugin', () => ({
- ...jest.requireActual('@strapi/helper-plugin'),
- useNotification: jest.fn(() => jest.fn()),
- useOverlayBlocker: jest.fn(() => ({ lockApp: jest.fn(), unlockApp: jest.fn() })),
-}));
-
-jest.mock('../../../../hooks', () => {
- const originalModule = jest.requireActual('../../../../hooks');
+jest.mock('@strapi/helper-plugin', () => {
+ // Make sure the references of the mock functions stay the same, otherwise we get an endless loop
+ const mockToggleNotification = jest.fn();
+ const mockUseNotification = jest.fn(() => {
+ return mockToggleNotification;
+ });
return {
- ...originalModule,
- usePlugins: () => ({
- ...originalModule.usePlugins,
- isLoading: false,
- }),
+ ...jest.requireActual('@strapi/helper-plugin'),
+ useNotification: mockUseNotification,
+ useOverlayBlocker: jest.fn(() => ({ lockApp: jest.fn(), unlockApp: jest.fn() })),
};
});
@@ -57,8 +52,9 @@ describe('Admin | containers | RoleEditPage', () => {
afterAll(() => server.close());
it('renders users-permissions edit role and matches snapshot', async () => {
- const { container, getByTestId } = makeAndRenderApp();
+ const { container, getByTestId, getByRole } = makeAndRenderApp();
await waitForElementToBeRemoved(() => getByTestId('loader'));
+ await waitFor(() => expect(getByRole('heading', { name: /permissions/i })).toBeInTheDocument());
expect(container.firstChild).toMatchInlineSnapshot(`
.c34 {
@@ -935,12 +931,12 @@ describe('Admin | containers | RoleEditPage', () => {
- users-permissions.Policies.header.title
+ Advanced settings
- users-permissions.Policies.header.hint
+ Select the application's actions or the plugin's actions and click on the cog icon to display the bound route
diff --git a/packages/plugins/users-permissions/admin/src/pages/Roles/EditPage/tests/server.js b/packages/plugins/users-permissions/admin/src/pages/Roles/EditPage/tests/server.js
index 71350d2448..638fe89244 100644
--- a/packages/plugins/users-permissions/admin/src/pages/Roles/EditPage/tests/server.js
+++ b/packages/plugins/users-permissions/admin/src/pages/Roles/EditPage/tests/server.js
@@ -4,10 +4,8 @@ import { rest } from 'msw';
const handlers = [
// Mock get role route
rest.get('*/users-permissions/roles/:roleId', (req, res, ctx) => {
- console.log('MOCK ROLE ID');
-
return res(
- ctx.delay(500),
+ ctx.delay(100),
ctx.status(200),
ctx.json({
role: {
@@ -41,8 +39,6 @@ const handlers = [
// Mock get all routes route
rest.get('*/users-permissions/routes', (req, res, ctx) => {
- console.log('mock ROUTE');
-
return res(
ctx.status(200),
ctx.json({
@@ -98,6 +94,49 @@ const handlers = [
})
);
}),
+
+ // Mock permissions route
+ rest.get('*/users-permissions/permissions', (req, res, ctx) => {
+ return res(
+ ctx.delay(100),
+ ctx.status(200),
+ ctx.json({
+ data: [
+ {
+ id: 113,
+ action: 'plugin::content-manager.explorer.create',
+ subject: 'plugin::users-permissions.user',
+ properties: {
+ fields: [
+ 'username',
+ 'email',
+ 'provider',
+ 'password',
+ 'resetPasswordToken',
+ 'confirmationToken',
+ 'confirmed',
+ 'blocked',
+ 'role',
+ 'picture',
+ ],
+ },
+ conditions: [],
+ },
+ ],
+ })
+ );
+ }),
+
+ // Mock policies route
+ rest.get('*/users-permissions/policies', (req, res, ctx) => {
+ return res(
+ ctx.delay(100),
+ ctx.status(200),
+ ctx.json({
+ policies: ['isAuthenticated', 'rateLimit'],
+ })
+ );
+ }),
];
const server = setupServer(...handlers);