diff --git a/opencti-platform/opencti-front/src/private/components/settings/sub_types/workflow/GlobalWorkflowSettingsCard.test.tsx b/opencti-platform/opencti-front/src/private/components/settings/sub_types/workflow/GlobalWorkflowSettingsCard.test.tsx
new file mode 100644
index 000000000000..d5ade4c7e199
--- /dev/null
+++ b/opencti-platform/opencti-front/src/private/components/settings/sub_types/workflow/GlobalWorkflowSettingsCard.test.tsx
@@ -0,0 +1,84 @@
+import React, { ReactNode } from 'react';
+import { describe, expect, it, vi } from 'vitest';
+import { render, screen } from '@testing-library/react';
+import GlobalWorkflowSettingsCard from './GlobalWorkflowSettingsCard';
+import { useSubTypeOutletContext } from '../SubTypeOutletContext';
+import useEnterpriseEdition from '../../../../../utils/hooks/useEnterpriseEdition';
+
+vi.mock('@common/card/Card', () => ({
+ default: ({ title, children }: { title: string; children: ReactNode }) => (
+
+
{title}
+ {children}
+
+ ),
+}));
+
+vi.mock('../../../../../components/i18n', () => ({
+ useFormatter: () => ({
+ t_i18n: (value: string) => value,
+ }),
+}));
+
+vi.mock('../SubTypeOutletContext', () => ({
+ useSubTypeOutletContext: vi.fn(),
+}));
+
+vi.mock('../../../../../utils/hooks/useEnterpriseEdition', () => ({
+ default: vi.fn(),
+}));
+
+vi.mock('./GlobalWorkflowSettings', () => ({
+ default: () => global-workflow-settings
,
+}));
+
+vi.mock('./RequestAccessSettings', () => ({
+ default: () => request-access-settings
,
+}));
+
+const makeSubType = (availableSettings: string[]) => ({
+ id: 'sub-type-id',
+ workflowEnabled: true,
+ settings: {
+ availableSettings,
+ requestAccessConfiguration: { id: 'request-access-configuration-id' },
+ },
+});
+
+describe('GlobalWorkflowSettingsCard', () => {
+ it('renders request access settings when request_access_workflow is available', () => {
+ vi.mocked(useEnterpriseEdition).mockReturnValue(true);
+ vi.mocked(useSubTypeOutletContext).mockReturnValue({
+ subType: makeSubType(['workflow_configuration', 'request_access_workflow']),
+ } as never);
+
+ render();
+
+ expect(screen.getByText('global-workflow-settings')).toBeInTheDocument();
+ expect(screen.getByText('request-access-settings')).toBeInTheDocument();
+ });
+
+ it('does not render request access settings when request_access_workflow is not available', () => {
+ vi.mocked(useEnterpriseEdition).mockReturnValue(true);
+ vi.mocked(useSubTypeOutletContext).mockReturnValue({
+ subType: makeSubType(['workflow_configuration', 'request_access_configuration']),
+ } as never);
+
+ render();
+
+ expect(screen.getByText('global-workflow-settings')).toBeInTheDocument();
+ expect(screen.queryByText('request-access-settings')).not.toBeInTheDocument();
+ });
+
+ it('does not render request access settings in CE even when request_access_workflow is available', () => {
+ vi.mocked(useEnterpriseEdition).mockReturnValue(false);
+ vi.mocked(useSubTypeOutletContext).mockReturnValue({
+ subType: makeSubType(['workflow_configuration', 'request_access_workflow']),
+ } as never);
+
+ render();
+
+ expect(screen.getByText('global-workflow-settings')).toBeInTheDocument();
+ expect(screen.queryByText('request-access-settings')).not.toBeInTheDocument();
+ });
+});
diff --git a/opencti-platform/opencti-front/src/private/components/settings/sub_types/workflow/GlobalWorkflowSettingsCard.tsx b/opencti-platform/opencti-front/src/private/components/settings/sub_types/workflow/GlobalWorkflowSettingsCard.tsx
index d629ce91eed6..c67827f71d6e 100644
--- a/opencti-platform/opencti-front/src/private/components/settings/sub_types/workflow/GlobalWorkflowSettingsCard.tsx
+++ b/opencti-platform/opencti-front/src/private/components/settings/sub_types/workflow/GlobalWorkflowSettingsCard.tsx
@@ -4,14 +4,17 @@ import { useFormatter } from '../../../../../components/i18n';
import { useSubTypeOutletContext } from '../SubTypeOutletContext';
import GlobalWorkflowSettings from './GlobalWorkflowSettings';
import RequestAccessSettings from './RequestAccessSettings';
+import useEnterpriseEdition from '../../../../../utils/hooks/useEnterpriseEdition';
const GlobalWorkflowSettingsCard = () => {
const { t_i18n } = useFormatter();
const { subType } = useSubTypeOutletContext();
+ const isEnterpriseEdition = useEnterpriseEdition();
const requestAccessConfiguration = subType.settings.requestAccessConfiguration;
- const hasRequestAccessConfig = subType.settings.availableSettings.includes('request_access_configuration')
+ const hasRequestAccessConfig = isEnterpriseEdition
+ && subType.settings.availableSettings.includes('request_access_workflow')
&& !!requestAccessConfiguration;
return (