From b52cfd2ee1bc538a76b0b5f295dfa6417844f858 Mon Sep 17 00:00:00 2001 From: Gustav Hansen Date: Thu, 19 Jan 2023 15:02:48 +0100 Subject: [PATCH 1/2] Settings: Nest SSO settings page under pages --- .../{ => pages}/SingleSignOn/index.js | 6 ++-- .../SingleSignOn/tests/index.test.js | 0 .../{ => pages}/SingleSignOn/tests/server.js | 0 .../{ => pages}/SingleSignOn/utils/schema.js | 0 .../pages/SettingsPage/utils/customRoutes.js | 30 +++++++++---------- 5 files changed, 17 insertions(+), 19 deletions(-) rename packages/core/admin/ee/admin/pages/SettingsPage/{ => pages}/SingleSignOn/index.js (96%) rename packages/core/admin/ee/admin/pages/SettingsPage/{ => pages}/SingleSignOn/tests/index.test.js (100%) rename packages/core/admin/ee/admin/pages/SettingsPage/{ => pages}/SingleSignOn/tests/server.js (100%) rename packages/core/admin/ee/admin/pages/SettingsPage/{ => pages}/SingleSignOn/utils/schema.js (100%) diff --git a/packages/core/admin/ee/admin/pages/SettingsPage/SingleSignOn/index.js b/packages/core/admin/ee/admin/pages/SettingsPage/pages/SingleSignOn/index.js similarity index 96% rename from packages/core/admin/ee/admin/pages/SettingsPage/SingleSignOn/index.js rename to packages/core/admin/ee/admin/pages/SettingsPage/pages/SingleSignOn/index.js index f428c0bee6..c96a9673e5 100644 --- a/packages/core/admin/ee/admin/pages/SettingsPage/SingleSignOn/index.js +++ b/packages/core/admin/ee/admin/pages/SettingsPage/pages/SingleSignOn/index.js @@ -17,9 +17,9 @@ import { Select, Option } from '@strapi/design-system/Select'; import { Grid, GridItem } from '@strapi/design-system/Grid'; import { useIntl } from 'react-intl'; import isEqual from 'lodash/isEqual'; -import { getRequestUrl } from '../../../../../admin/src/utils'; -import { useRolesList, useSettingsForm } from '../../../../../admin/src/hooks'; -import adminPermissions from '../../../../../admin/src/permissions'; +import { getRequestUrl } from '../../../../../../admin/src/utils'; +import { useRolesList, useSettingsForm } from '../../../../../../admin/src/hooks'; +import adminPermissions from '../../../../../../admin/src/permissions'; import schema from './utils/schema'; const ssoPermissions = { diff --git a/packages/core/admin/ee/admin/pages/SettingsPage/SingleSignOn/tests/index.test.js b/packages/core/admin/ee/admin/pages/SettingsPage/pages/SingleSignOn/tests/index.test.js similarity index 100% rename from packages/core/admin/ee/admin/pages/SettingsPage/SingleSignOn/tests/index.test.js rename to packages/core/admin/ee/admin/pages/SettingsPage/pages/SingleSignOn/tests/index.test.js diff --git a/packages/core/admin/ee/admin/pages/SettingsPage/SingleSignOn/tests/server.js b/packages/core/admin/ee/admin/pages/SettingsPage/pages/SingleSignOn/tests/server.js similarity index 100% rename from packages/core/admin/ee/admin/pages/SettingsPage/SingleSignOn/tests/server.js rename to packages/core/admin/ee/admin/pages/SettingsPage/pages/SingleSignOn/tests/server.js diff --git a/packages/core/admin/ee/admin/pages/SettingsPage/SingleSignOn/utils/schema.js b/packages/core/admin/ee/admin/pages/SettingsPage/pages/SingleSignOn/utils/schema.js similarity index 100% rename from packages/core/admin/ee/admin/pages/SettingsPage/SingleSignOn/utils/schema.js rename to packages/core/admin/ee/admin/pages/SettingsPage/pages/SingleSignOn/utils/schema.js diff --git a/packages/core/admin/ee/admin/pages/SettingsPage/utils/customRoutes.js b/packages/core/admin/ee/admin/pages/SettingsPage/utils/customRoutes.js index ced00802c3..2a166ef372 100644 --- a/packages/core/admin/ee/admin/pages/SettingsPage/utils/customRoutes.js +++ b/packages/core/admin/ee/admin/pages/SettingsPage/utils/customRoutes.js @@ -1,19 +1,17 @@ -const ssoRoutes = strapi.features.isEnabled(strapi.features.SSO) - ? [ - { - async Component() { - const component = await import( - /* webpackChunkName: "sso-settings-page" */ '../SingleSignOn' - ); +const routes = []; - return component; - }, - to: '/settings/single-sign-on', - exact: true, - }, - ] - : []; +if (strapi.features.isEnabled(strapi.features.SSO)) { + routes.push({ + async Component() { + const component = await import( + /* webpackChunkName: "sso-settings-page" */ '../pages/SingleSignOn' + ); -const customRoutes = [...ssoRoutes]; + return component; + }, + to: '/settings/single-sign-on', + exact: true, + }); +} -export default customRoutes; +export default routes; From 21a66eb109c5efbd1c04a606518faad3b8dadfb4 Mon Sep 17 00:00:00 2001 From: Gustav Hansen Date: Thu, 19 Jan 2023 15:03:43 +0100 Subject: [PATCH 2/2] Settings: Refactor navigation tests --- .../SettingsNav/tests/index.test.js | 572 +----------------- .../tests/__snapshots__/index.test.js.snap | 0 2 files changed, 11 insertions(+), 561 deletions(-) rename packages/core/admin/ee/admin/pages/SettingsPage/{ => pages}/SingleSignOn/tests/__snapshots__/index.test.js.snap (100%) diff --git a/packages/core/admin/admin/src/pages/SettingsPage/components/SettingsNav/tests/index.test.js b/packages/core/admin/admin/src/pages/SettingsPage/components/SettingsNav/tests/index.test.js index c07afd3b7f..c503ff095a 100644 --- a/packages/core/admin/admin/src/pages/SettingsPage/components/SettingsNav/tests/index.test.js +++ b/packages/core/admin/admin/src/pages/SettingsPage/components/SettingsNav/tests/index.test.js @@ -44,7 +44,7 @@ const menu = [ intlLabel: { id: 'email.SettingsNav.section-label', defaultMessage: 'Email Plugin' }, links: [ { - intlLabel: { id: 'email.Settings.email.plugin.title', defaultMessage: 'Settings' }, + intlLabel: { id: 'email.Settings.email.plugin.title', defaultMessage: 'Email Settings' }, id: 'settings', to: '/settings/email', permissions: [{ action: 'plugin::email.settings.read', subject: null }], @@ -60,7 +60,7 @@ const menu = [ }, links: [ { - intlLabel: { id: 'users-permissions.HeaderNav.link.roles', defaultMessage: 'Roles' }, + intlLabel: { id: 'users-permissions.HeaderNav.link.roles', defaultMessage: 'U&P Roles' }, id: 'roles', to: '/settings/users-permissions/roles', permissions: [ @@ -87,566 +87,16 @@ const App = ( describe('SettingsPage || components || SettingsNav', () => { it('should render and match snapshot', () => { - const { - container: { firstChild }, - } = render(App); + const { getByText } = render(App); - expect(firstChild).toMatchInlineSnapshot(` - .c1 { - padding-top: 24px; - padding-right: 16px; - padding-bottom: 8px; - padding-left: 24px; + menu.forEach((menuItem) => { + expect(getByText(menuItem.intlLabel.defaultMessage)).toBeInTheDocument(); + + if (menuItem.links) { + menuItem.links.forEach((link) => { + expect(getByText(link.intlLabel.defaultMessage)).toBeInTheDocument(); + }); } - - .c5 { - padding-top: 16px; - } - - .c6 { - background: #eaeaef; - } - - .c9 { - padding-top: 8px; - padding-bottom: 16px; - } - - .c13 { - padding-top: 8px; - padding-right: 16px; - padding-bottom: 8px; - padding-left: 24px; - } - - .c15 { - padding-right: 0px; - position: relative; - } - - .c18 { - padding-right: 4px; - } - - .c20 { - background: #f6f6f9; - padding-top: 8px; - padding-bottom: 8px; - padding-left: 32px; - } - - .c23 { - padding-left: 8px; - } - - .c25 { - padding-right: 16px; - } - - .c0 { - width: 14.5rem; - background: #f6f6f9; - position: -webkit-sticky; - position: sticky; - top: 0; - height: 100vh; - overflow-y: auto; - border-right: 1px solid #dcdce4; - z-index: 1; - } - - .c2 { - -webkit-align-items: flex-start; - -webkit-box-align: flex-start; - -ms-flex-align: flex-start; - align-items: flex-start; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; - -webkit-box-pack: justify; - -webkit-justify-content: space-between; - -ms-flex-pack: justify; - justify-content: space-between; - } - - .c10 { - -webkit-align-items: stretch; - -webkit-box-align: stretch; - -ms-flex-align: stretch; - align-items: stretch; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - } - - .c16 { - -webkit-align-items: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; - } - - .c4 { - font-weight: 600; - font-size: 1.125rem; - line-height: 1.22; - color: #32324d; - } - - .c19 { - font-weight: 600; - font-size: 0.6875rem; - line-height: 1.45; - text-transform: uppercase; - color: #666687; - } - - .c24 { - font-size: 0.875rem; - line-height: 1.43; - color: #32324d; - } - - .c7 { - height: 1px; - border: none; - -webkit-flex-shrink: 0; - -ms-flex-negative: 0; - flex-shrink: 0; - margin: 0; - } - - .c8 { - width: 1.5rem; - background-color: #dcdce4; - } - - .c21 { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-align-items: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: justify; - -webkit-justify-content: space-between; - -ms-flex-pack: justify; - justify-content: space-between; - -webkit-text-decoration: none; - text-decoration: none; - color: #32324d; - } - - .c21 svg > * { - fill: #666687; - } - - .c21.active { - background-color: #f0f0ff; - border-right: 2px solid #4945ff; - } - - .c21.active svg > * { - fill: #271fe0; - } - - .c21.active .c3 { - color: #271fe0; - font-weight: 500; - } - - .c21:focus-visible { - outline-offset: -2px; - } - - .c22 { - width: 0.75rem; - height: 0.25rem; - } - - .c22 * { - fill: #666687; - } - - .c26 { - width: 0.75rem; - height: 0.25rem; - } - - .c26 * { - fill: #4945ff; - } - - .c11 > * { - margin-top: 0; - margin-bottom: 0; - } - - .c11 > * + * { - margin-top: 8px; - } - - .c12 > * { - margin-top: 0; - margin-bottom: 0; - } - - .c12 > * + * { - margin-top: 4px; - } - - .c17 { - border: none; - padding: 0; - background: transparent; - } - - .c14 svg { - height: 0.25rem; - } - - .c14 svg path { - fill: #8e8ea9; - } - - - `); + }); }); }); diff --git a/packages/core/admin/ee/admin/pages/SettingsPage/SingleSignOn/tests/__snapshots__/index.test.js.snap b/packages/core/admin/ee/admin/pages/SettingsPage/pages/SingleSignOn/tests/__snapshots__/index.test.js.snap similarity index 100% rename from packages/core/admin/ee/admin/pages/SettingsPage/SingleSignOn/tests/__snapshots__/index.test.js.snap rename to packages/core/admin/ee/admin/pages/SettingsPage/pages/SingleSignOn/tests/__snapshots__/index.test.js.snap