diff --git a/src/Routes.js b/src/Routes.js index 8a19175fe..27d1b3cc1 100644 --- a/src/Routes.js +++ b/src/Routes.js @@ -10,7 +10,6 @@ import { } from './Utilities/edge'; import { inventoryHasConventionalSystems } from './Utilities/conventional'; import Fallback from './components/SpinnerFallback'; -import useWorkspaceFeatureFlag from './Utilities/hooks/useWorkspaceFeatureFlag'; import Redirect from './Utilities/Redirect'; import { AccountStatContext } from './Contexts'; @@ -52,7 +51,6 @@ export const Routes = () => { ); const isBifrostEnabled = useFeatureFlag('hbi.ui.bifrost'); - const isWorkspaceEnabled = useWorkspaceFeatureFlag(); useEffect(() => { // zero state check @@ -90,21 +88,17 @@ export const Routes = () => { { path: '/:inventoryId/:modalId', element: }, { path: '/groups', - element: isWorkspaceEnabled ? ( + element: ( - ) : ( - ), }, { path: '/groups/:groupId', - element: isWorkspaceEnabled ? ( + element: ( - ) : ( - ), }, { diff --git a/src/Utilities/hooks/useWorkspaceFeatureFlag.js b/src/Utilities/hooks/useWorkspaceFeatureFlag.js deleted file mode 100644 index 30e5f6568..000000000 --- a/src/Utilities/hooks/useWorkspaceFeatureFlag.js +++ /dev/null @@ -1,6 +0,0 @@ -import useFeatureFlag from '../useFeatureFlag'; - -const useWorkspaceFeatureFlag = () => - useFeatureFlag('platform.rbac.groups-to-workspaces-rename'); - -export default useWorkspaceFeatureFlag; diff --git a/src/components/GroupSystems/GroupImmutableSystems.js b/src/components/GroupSystems/GroupImmutableSystems.js index 33762b75a..9ef9d23cf 100644 --- a/src/components/GroupSystems/GroupImmutableSystems.js +++ b/src/components/GroupSystems/GroupImmutableSystems.js @@ -8,7 +8,6 @@ import { useLocation, useNavigate, useParams } from 'react-router-dom'; import RemoveHostsFromGroupModal from '../InventoryGroups/Modals/RemoveHostsFromGroupModal'; import { usePermissionsWithContext } from '@redhat-cloud-services/frontend-components-utilities/RBACHook'; import { - NO_MODIFY_GROUP_TOOLTIP_MESSAGE, NO_MODIFY_WORKSPACE_TOOLTIP_MESSAGE, REQUIRED_PERMISSIONS_TO_MODIFY_GROUP, } from '../../constants'; @@ -31,18 +30,12 @@ import { import { edgeColumns } from '../ImmutableDevices/columns'; import { mergeArraysByKey } from '@redhat-cloud-services/frontend-components-utilities/helpers'; import { hybridInventoryTabKeys } from '../../Utilities/constants'; -import useWorkspaceFeatureFlag from '../../Utilities/hooks/useWorkspaceFeatureFlag'; import { prepareColumnsImmutable as prepareColumns } from './helpers'; const GroupImmutableSystems = ({ groupName, groupId, ...props }) => { const dispatch = useDispatch(); - const isWorkspaceEnabled = useWorkspaceFeatureFlag(); - const noAccessTooltip = isWorkspaceEnabled - ? NO_MODIFY_WORKSPACE_TOOLTIP_MESSAGE - : NO_MODIFY_GROUP_TOOLTIP_MESSAGE; - const removeLabel = isWorkspaceEnabled - ? 'Remove from workspace' - : 'Remove from group'; + const noAccessTooltip = NO_MODIFY_WORKSPACE_TOOLTIP_MESSAGE; + const removeLabel = 'Remove from workspace'; const mergeColumns = (inventoryColumns) => { const filteredColumns = inventoryColumns.filter( (column) => column.key !== 'groups' diff --git a/src/components/GroupSystems/GroupSystems.js b/src/components/GroupSystems/GroupSystems.js index 78f1ccaf9..5ea913f97 100644 --- a/src/components/GroupSystems/GroupSystems.js +++ b/src/components/GroupSystems/GroupSystems.js @@ -8,7 +8,6 @@ import { useSearchParams } from 'react-router-dom'; import RemoveHostsFromGroupModal from '../InventoryGroups/Modals/RemoveHostsFromGroupModal'; import { usePermissionsWithContext } from '@redhat-cloud-services/frontend-components-utilities/RBACHook'; import { - NO_MODIFY_GROUP_TOOLTIP_MESSAGE, NO_MODIFY_WORKSPACE_TOOLTIP_MESSAGE, REQUIRED_PERMISSIONS_TO_MODIFY_GROUP, getSearchParams, @@ -25,7 +24,6 @@ import useGlobalFilter from '../filters/useGlobalFilter'; import { hybridInventoryTabKeys } from '../../Utilities/constants'; import useOnRefresh from '../filters/useOnRefresh'; import { generateFilter } from '../../Utilities/constants'; -import useWorkspaceFeatureFlag from '../../Utilities/hooks/useWorkspaceFeatureFlag'; import { prepareColumnsCoventional as prepareColumns } from './helpers'; const GroupSystems = ({ groupName, groupId }) => { @@ -52,13 +50,8 @@ const GroupSystems = ({ groupName, groupId }) => { ); const [searchParams] = useSearchParams(); - const isWorkspaceEnabled = useWorkspaceFeatureFlag(); - const noAccessTooltip = isWorkspaceEnabled - ? NO_MODIFY_WORKSPACE_TOOLTIP_MESSAGE - : NO_MODIFY_GROUP_TOOLTIP_MESSAGE; - const removeLabel = isWorkspaceEnabled - ? 'Remove from workspace' - : 'Remove from group'; + const noAccessTooltip = NO_MODIFY_WORKSPACE_TOOLTIP_MESSAGE; + const removeLabel = 'Remove from workspace'; useEffect(() => { const { page, perPage } = getSearchParams(searchParams); diff --git a/src/components/GroupsTable/GroupsTable.js b/src/components/GroupsTable/GroupsTable.js index 7ac578676..b845145f1 100644 --- a/src/components/GroupsTable/GroupsTable.js +++ b/src/components/GroupsTable/GroupsTable.js @@ -24,16 +24,13 @@ import { useDispatch, useSelector } from 'react-redux'; import { Link } from 'react-router-dom'; import { GENERAL_GROUPS_WRITE_PERMISSION, - NO_MODIFY_GROUPS_TOOLTIP_MESSAGE, NO_MODIFY_WORKSPACES_TOOLTIP_MESSAGE, - NO_MODIFY_GROUP_TOOLTIP_MESSAGE, NO_MODIFY_WORKSPACE_TOOLTIP_MESSAGE, REQUIRED_PERMISSIONS_TO_MODIFY_GROUP, TABLE_DEFAULT_PAGINATION, } from '../../constants'; import { fetchGroups } from '../../store/inventory-actions'; import useFetchBatched from '../../Utilities/hooks/useFetchBatched'; -import useWorkspaceFeatureFlag from '../../Utilities/hooks/useWorkspaceFeatureFlag'; import DeleteGroupModal from '../InventoryGroups/Modals/DeleteGroupModal'; import RenameGroupModal from '../InventoryGroups/Modals/RenameGroupModal'; import { getGroups } from '../InventoryGroups/utils/api'; @@ -125,7 +122,6 @@ const GroupsTable = ({ onCreateGroupClick }) => { const [deleteModalOpen, setDeleteModalOpen] = useState(false); const groups = useMemo(() => data?.results || [], [data]); const { fetchBatched } = useFetchBatched(); - const isWorkspaceEnabled = useWorkspaceFeatureFlag(); const loadingState = uninitialized || loading; const fetchData = useCallback( @@ -258,7 +254,7 @@ const GroupsTable = ({ onCreateGroupClick }) => { { title: ( ), @@ -325,11 +321,7 @@ const GroupsTable = ({ onCreateGroupClick }) => { requiredPermissions={REQUIRED_PERMISSIONS_TO_MODIFY_GROUP( rowData?.groupId )} - noAccessTooltip={ - isWorkspaceEnabled - ? NO_MODIFY_WORKSPACE_TOOLTIP_MESSAGE - : NO_MODIFY_GROUP_TOOLTIP_MESSAGE - } + noAccessTooltip={NO_MODIFY_WORKSPACE_TOOLTIP_MESSAGE} onClick={() => { setSelectedGroup({ id: rowData?.groupId, @@ -338,7 +330,7 @@ const GroupsTable = ({ onCreateGroupClick }) => { setRenameModalOpen(true); }} > - {isWorkspaceEnabled ? 'Rename workspace' : 'Rename group'} + Rename workspace ), }, @@ -348,11 +340,7 @@ const GroupsTable = ({ onCreateGroupClick }) => { requiredPermissions={REQUIRED_PERMISSIONS_TO_MODIFY_GROUP( rowData?.groupId )} - noAccessTooltip={ - isWorkspaceEnabled - ? NO_MODIFY_WORKSPACE_TOOLTIP_MESSAGE - : NO_MODIFY_GROUP_TOOLTIP_MESSAGE - } + noAccessTooltip={NO_MODIFY_WORKSPACE_TOOLTIP_MESSAGE} onClick={() => { setSelectedGroup({ id: rowData?.groupId, @@ -361,7 +349,7 @@ const GroupsTable = ({ onCreateGroupClick }) => { setDeleteModalOpen(true); }} > - {isWorkspaceEnabled ? 'Delete workspace' : 'Delete group'} + Delete workspace ), }, @@ -468,15 +456,11 @@ const GroupsTable = ({ onCreateGroupClick }) => { - {isWorkspaceEnabled ? 'Create workspace' : 'Create group'} + Create workspace , { label: ( @@ -484,22 +468,14 @@ const GroupsTable = ({ onCreateGroupClick }) => { requiredPermissions={selectedIds.flatMap((id) => REQUIRED_PERMISSIONS_TO_MODIFY_GROUP(id) )} - noAccessTooltip={ - isWorkspaceEnabled - ? NO_MODIFY_WORKSPACES_TOOLTIP_MESSAGE - : NO_MODIFY_GROUPS_TOOLTIP_MESSAGE - } + noAccessTooltip={NO_MODIFY_WORKSPACES_TOOLTIP_MESSAGE} onClick={() => setDeleteModalOpen(true)} isAriaDisabled={selectedIds.length === 0} checkAll > {selectedIds.length > 1 - ? isWorkspaceEnabled - ? 'Delete workspaces' - : 'Delete groups' - : isWorkspaceEnabled - ? 'Delete workspace' - : 'Delete group'} + ? 'Delete workspaces' + : 'Delete workspace'} ), }, diff --git a/src/components/InventoryGroupDetail/EmptyStateNoAccess.js b/src/components/InventoryGroupDetail/EmptyStateNoAccess.js index ac775a95e..762f3d051 100644 --- a/src/components/InventoryGroupDetail/EmptyStateNoAccess.js +++ b/src/components/InventoryGroupDetail/EmptyStateNoAccess.js @@ -1,80 +1,51 @@ import React from 'react'; import AccessDenied from '../../Utilities/AccessDenied'; -import useWorkspaceFeatureFlag from '../../Utilities/hooks/useWorkspaceFeatureFlag'; -const EmptyStateNoAccessToSystems = () => { - const isWorkspaceEnabled = useWorkspaceFeatureFlag(); +const EmptyStateNoAccessToSystems = () => ( + + You do not have the necessary inventory host permissions to see the + systems in this workspace. Contact your organization administrator for + access. + + } + variant="large" // overrides the default "full" value + requiredPermission="inventory:hosts:read" + /> +); - return ( - - {`You do not have the necessary inventory host permissions to see the - systems in this ${ - isWorkspaceEnabled ? 'workspace' : 'group' - }. Contact your organization administrator for - access.`} - - } - variant="large" // overrides the default "full" value - requiredPermission="inventory:hosts:read" - /> - ); -}; - -const EmptyStateNoAccessToGroup = () => { - const isWorkspaceEnabled = useWorkspaceFeatureFlag(); - - return ( - - {`You do not have the necessary ${ - isWorkspaceEnabled ? 'workspace' : 'inventory group' - } permissions to see this - ${ - isWorkspaceEnabled ? 'workspace' : 'inventory group' - }. Contact your organization administrator for access.`} - - } - variant="large" // overrides the default "full" value - requiredPermission="inventory:groups:read" - /> - ); -}; - -const EmptyStateNoAccessToGroups = () => { - const isWorkspaceEnabled = useWorkspaceFeatureFlag(); +const EmptyStateNoAccessToGroup = () => ( + + You do not have the necessary workspace permissions to see this + workspace. Contact your organization administrator for access. + + } + variant="large" // overrides the default "full" value + requiredPermission="inventory:groups:read" + /> +); - return ( - - {`You do not have the necessary ${ - isWorkspaceEnabled ? 'workspace' : 'inventory group' - } permissions to see - ${ - isWorkspaceEnabled ? 'workspaces' : 'inventory groups' - }. Contact your organization administrator for access.`} - - } - variant="large" // overrides the default "full" value - requiredPermission="inventory:groups:read" - /> - ); -}; +const EmptyStateNoAccessToGroups = () => ( + + You do not have the necessary workspace permissions to see workspaces. + Contact your organization administrator for access. + + } + variant="large" // overrides the default "full" value + requiredPermission="inventory:groups:read" + /> +); export { EmptyStateNoAccessToGroup, diff --git a/src/components/InventoryGroupDetail/GroupDetailHeader.js b/src/components/InventoryGroupDetail/GroupDetailHeader.js index 9a598e6d1..86e42d7af 100644 --- a/src/components/InventoryGroupDetail/GroupDetailHeader.js +++ b/src/components/InventoryGroupDetail/GroupDetailHeader.js @@ -30,7 +30,6 @@ import useInsightsNavigate from '@redhat-cloud-services/frontend-components-util import useFeatureFlag from '../../Utilities/useFeatureFlag'; import EdgeUpdateDeviceModal from './EdgeUpdateDeviceModal'; import { getInventoryGroupDevicesUpdateInfo } from '../../api/edge/updates'; -import useWorkspaceFeatureFlag from '../../Utilities/hooks/useWorkspaceFeatureFlag'; const GroupDetailHeader = ({ groupId }) => { const dispatch = useDispatch(); @@ -60,8 +59,6 @@ const GroupDetailHeader = ({ groupId }) => { 'edgeParity.inventory-groups-enabled' ); - const isWorkspaceEnabled = useWorkspaceFeatureFlag(); - useEffect(() => { if (isEdgeParityGroupsEnabled) { (async () => { @@ -84,11 +81,7 @@ const GroupDetailHeader = ({ groupId }) => { return ( ); } else { @@ -129,9 +122,7 @@ const GroupDetailHeader = ({ groupId }) => { )} - - {isWorkspaceEnabled ? 'Workspaces' : 'Groups'} - + Workspaces {getTitle()} @@ -158,7 +149,7 @@ const GroupDetailHeader = ({ groupId }) => { isDisabled={!canModify || uninitialized || loading} ouiaId="group-actions-dropdown-toggle" > - {isWorkspaceEnabled ? 'Workspace actions' : 'Group actions'} + Workspace actions )} > diff --git a/src/components/InventoryGroupDetail/GroupDetailInfo.js b/src/components/InventoryGroupDetail/GroupDetailInfo.js index b8e0bc465..022de98e4 100644 --- a/src/components/InventoryGroupDetail/GroupDetailInfo.js +++ b/src/components/InventoryGroupDetail/GroupDetailInfo.js @@ -8,7 +8,6 @@ import { } from '../../constants'; import { ActionButton } from '../InventoryTable/ActionWithRBAC'; import { usePermissions } from '@redhat-cloud-services/frontend-components-utilities/RBACHook'; -import useWorkspaceFeatureFlag from '../../Utilities/hooks/useWorkspaceFeatureFlag'; const GroupDetailInfo = () => { const path = '/iam/user-access'; @@ -16,7 +15,6 @@ const GroupDetailInfo = () => { 'rbac', USER_ACCESS_ADMIN_PERMISSIONS ); - const isWorkspaceEnabled = useWorkspaceFeatureFlag(); return ( @@ -48,15 +46,13 @@ const GroupDetailInfo = () => { {isUserAccessAdministrator ? ( - Manage your {isWorkspaceEnabled ? 'workspace' : 'inventory group'}{' '} - user access configuration under{' '} - Identity & Access Management {'>'} User Access. + Manage your workspace user access configuration under{' '} + Identity & Access Management > User Access. ) : ( - Manage your {isWorkspaceEnabled ? 'workspace' : 'inventory group'}{' '} - user access configuration under Identity & Access Management {'>'}{' '} - User Access. + Manage your workspace user access configuration under Identity & + Access Management > User Access. )} diff --git a/src/components/InventoryGroupDetail/GroupTabDetails.js b/src/components/InventoryGroupDetail/GroupTabDetails.js index 2543e86a3..084d239a7 100644 --- a/src/components/InventoryGroupDetail/GroupTabDetails.js +++ b/src/components/InventoryGroupDetail/GroupTabDetails.js @@ -14,7 +14,6 @@ import PropTypes from 'prop-types'; import { usePermissionsWithContext } from '@redhat-cloud-services/frontend-components-utilities/RBACHook'; import { REQUIRED_PERMISSIONS_TO_READ_GROUP_HOSTS } from '../../constants'; import { EmptyStateNoAccessToSystems } from './EmptyStateNoAccess'; -import useWorkspaceFeatureFlag from '../../Utilities/hooks/useWorkspaceFeatureFlag'; const GroupDetailInfo = lazy(() => import('./GroupDetailInfo')); @@ -29,7 +28,6 @@ const GroupTabDetailsWrapper = ({ const { hasAccess: canViewHosts } = usePermissionsWithContext( REQUIRED_PERMISSIONS_TO_READ_GROUP_HOSTS(groupId) ); - const isWorkspaceEnabled = useWorkspaceFeatureFlag(); const conventionalSystemsContent = useMemo( () => ( - + {activeTabKey === 1 && ( // helps to lazy load the component import('./GroupDetailInfo')); const InventoryGroupDetail = ({ groupId }) => { @@ -57,8 +56,6 @@ const InventoryGroupDetail = ({ groupId }) => { REQUIRED_PERMISSIONS_TO_READ_GROUP_HOSTS(groupId) ); - const isWorkspaceEnabled = useWorkspaceFeatureFlag(); - useEffect(() => { if (canViewGroup === true) { dispatch(fetchGroupDetail(groupId)); @@ -71,11 +68,7 @@ const InventoryGroupDetail = ({ groupId }) => { useEffect(() => { // if available, change ID to the group's name in the window title - chrome?.updateDocumentTitle?.( - `${groupName || groupId} - ${ - isWorkspaceEnabled ? 'Workspaces' : 'Inventory Groups' - }` - ); + chrome?.updateDocumentTitle?.(`${groupName || groupId} - Workspaces`); }, [data]); // TODO: append search parameter to identify the active tab @@ -162,7 +155,7 @@ const InventoryGroupDetail = ({ groupId }) => { {activeTabKey === 1 && ( // helps to lazy load the component diff --git a/src/components/InventoryGroupDetail/NoSystemsEmptyState.js b/src/components/InventoryGroupDetail/NoSystemsEmptyState.js index a2198e56c..d99e091c9 100644 --- a/src/components/InventoryGroupDetail/NoSystemsEmptyState.js +++ b/src/components/InventoryGroupDetail/NoSystemsEmptyState.js @@ -12,16 +12,13 @@ import { global_palette_black_600 as globalPaletteBlack600 } from '@patternfly/r import AddSystemsToGroupModal from '../InventoryGroups/Modals/AddSystemsToGroupModal'; import PropTypes from 'prop-types'; import { - NO_MODIFY_GROUP_TOOLTIP_MESSAGE, NO_MODIFY_WORKSPACE_TOOLTIP_MESSAGE, REQUIRED_PERMISSIONS_TO_MODIFY_GROUP, } from '../../constants'; import { ActionButton } from '../InventoryTable/ActionWithRBAC'; -import useWorkspaceFeatureFlag from '../../Utilities/hooks/useWorkspaceFeatureFlag'; const NoSystemsEmptyState = ({ groupId, groupName }) => { const [isModalOpen, setIsModalOpen] = useState(false); - const isWorkspaceEnabled = useWorkspaceFeatureFlag(); return ( { headingLevel="h4" /> - {`To manage systems more effectively, add systems to the ${ - isWorkspaceEnabled ? 'workspace' : 'group' - }.`} + To manage systems more effectively, add systems to the workspace. setIsModalOpen(true)} ouiaId="add-systems-button" diff --git a/src/components/InventoryGroups/GetHelpExpandable.js b/src/components/InventoryGroups/GetHelpExpandable.js index 4ebfdbc74..82ec9ff3d 100644 --- a/src/components/InventoryGroups/GetHelpExpandable.js +++ b/src/components/InventoryGroups/GetHelpExpandable.js @@ -11,13 +11,11 @@ import React from 'react'; import { USER_ACCESS_ADMIN_PERMISSIONS } from '../../constants'; import { usePermissionsWithContext } from '@redhat-cloud-services/frontend-components-utilities/RBACHook'; import useChrome from '@redhat-cloud-services/frontend-components/useChrome'; -import useWorkspaceFeatureFlag from '../../Utilities/hooks/useWorkspaceFeatureFlag'; const GetHelpExpandable = () => { const { hasAccess: isUserAccessAdministrator, isOrgAdmin } = usePermissionsWithContext(USER_ACCESS_ADMIN_PERMISSIONS); const { quickStarts } = useChrome(); - const isWorkspaceEnabled = useWorkspaceFeatureFlag(); return ( { className="ins-c-groups-help-expandable__link" size="lg" onClick={() => - isWorkspaceEnabled - ? quickStarts.activateQuickstart('insights-inventory-workspace') - : quickStarts.activateQuickstart('insights-inventory-groups') + quickStarts.activateQuickstart('insights-inventory-workspace') } > - {isWorkspaceEnabled - ? 'Create a workspace' - : 'Create an Inventory group'}{' '} - + Create an Inventory group {isUserAccessAdministrator || isOrgAdmin ? ( @@ -50,19 +43,12 @@ const GetHelpExpandable = () => { className="ins-c-groups-help-expandable__link" size="lg" onClick={() => - isWorkspaceEnabled - ? quickStarts.activateQuickstart( - 'insights-inventory-workspace-rbac' - ) - : quickStarts.activateQuickstart( - 'insights-inventory-groups-rbac' - ) + quickStarts.activateQuickstart( + 'insights-inventory-workspace-rbac' + ) } > - {isWorkspaceEnabled - ? 'Configure User Access for your workspaces' - : 'Configure User Access for your Inventory groups'}{' '} - + Configure User Access for your workspaces ) : ( diff --git a/src/components/filters/SearchableGroupFilter.js b/src/components/filters/SearchableGroupFilter.js index 0f1ade600..320d887ad 100644 --- a/src/components/filters/SearchableGroupFilter.js +++ b/src/components/filters/SearchableGroupFilter.js @@ -11,7 +11,6 @@ import { import xor from 'lodash/xor'; import PropTypes from 'prop-types'; -import useWorkspaceFeatureFlag from '../../Utilities/hooks/useWorkspaceFeatureFlag'; const SearchableGroupFilter = ({ initialGroups, @@ -19,14 +18,13 @@ const SearchableGroupFilter = ({ setSelectedGroupNames, showNoGroupOption = false, }) => { - const isWorkspaceEnabled = useWorkspaceFeatureFlag(); const initialValues = useMemo( () => [ ...(showNoGroupOption ? [ { itemId: '', - children: isWorkspaceEnabled ? 'No workspace' : 'No group', + children: 'No workspace', }, ] : []), @@ -35,7 +33,7 @@ const SearchableGroupFilter = ({ children: name, })), ], - [initialGroups, isWorkspaceEnabled] + [initialGroups] ); const [isOpen, setIsOpen] = useState(false); @@ -59,9 +57,7 @@ const SearchableGroupFilter = ({ newSelectOptions = [ { isDisabled: true, - children: isWorkspaceEnabled - ? 'No workspace found' - : 'No groups found', + children: 'No workspace found', }, ]; } @@ -162,9 +158,7 @@ const SearchableGroupFilter = ({ onKeyDown={onInputKeyDown} id="multi-typeahead-select-input" autoComplete="off" - placeholder={ - isWorkspaceEnabled ? 'Filter by workspace' : 'Filter by group' - } + placeholder="Filter by workspace" /> @@ -186,11 +180,7 @@ const SearchableGroupFilter = ({ > {selectOptions.length === 0 ? ( - - {isWorkspaceEnabled - ? 'No workspaces available' - : 'No groups available'} - + No workspaces available ) : ( selectOptions.map((option, index) => (
diff --git a/src/components/filters/SearchableGroupFilter.test.js b/src/components/filters/SearchableGroupFilter.test.js index 102c2cc6b..fc429f692 100644 --- a/src/components/filters/SearchableGroupFilter.test.js +++ b/src/components/filters/SearchableGroupFilter.test.js @@ -3,10 +3,6 @@ import { render, screen } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; import React from 'react'; import SearchableGroupFilter from './SearchableGroupFilter'; -import useWorkspaceFeatureFlag from '../../Utilities/hooks/useWorkspaceFeatureFlag'; - -jest.mock('../../Utilities/hooks/useWorkspaceFeatureFlag'); -useWorkspaceFeatureFlag.mockReturnValue(false); const setter = jest.fn(); diff --git a/src/components/filters/useGroupFilter.js b/src/components/filters/useGroupFilter.js index a5bbd4a00..04b658535 100644 --- a/src/components/filters/useGroupFilter.js +++ b/src/components/filters/useGroupFilter.js @@ -6,7 +6,6 @@ import { getGroups } from '../InventoryGroups/utils/api'; import SearchableGroupFilter from './SearchableGroupFilter'; import { GENERAL_GROUPS_READ_PERMISSION } from '../../constants'; import { usePermissionsWithContext } from '@redhat-cloud-services/frontend-components-utilities/RBACHook'; -import useWorkspaceFeatureFlag from '../../Utilities/hooks/useWorkspaceFeatureFlag'; export const groupFilterState = { hostGroupFilter: null }; export const GROUP_FILTER = 'GROUP_FILTER'; @@ -16,14 +15,11 @@ export const groupFilterReducer = (_state, { type, payload }) => ({ }), }); -export const buildHostGroupChips = ( - selectedGroups = [], - isWorkspaceEnabled -) => { +export const buildHostGroupChips = (selectedGroups = []) => { const chips = [...selectedGroups]?.map((group) => group === '' ? { - name: isWorkspaceEnabled ? 'No workspace' : 'No group', + name: 'No workspace', value: '', } : { @@ -34,7 +30,7 @@ export const buildHostGroupChips = ( return chips?.length > 0 ? [ { - category: isWorkspaceEnabled ? 'Workspace' : 'Group', + category: 'Workspace', type: HOST_GROUP_CHIP, chips, }, @@ -55,8 +51,6 @@ const useGroupFilter = (showNoGroupOption = false) => { false ); - const isWorkspaceEnabled = useWorkspaceFeatureFlag(); - useEffect(() => { const fetchOptions = async () => { if (!hasAccess) return; @@ -93,14 +87,14 @@ const useGroupFilter = (showNoGroupOption = false) => { }, [hasAccess]); const chips = useMemo( - () => buildHostGroupChips(selectedGroupNames, isWorkspaceEnabled), + () => buildHostGroupChips(selectedGroupNames), [selectedGroupNames] ); // hostGroupConfig is used in EntityTableToolbar.js const hostGroupConfig = useMemo( () => ({ - label: isWorkspaceEnabled ? 'Workspace' : 'Group', + label: 'Workspace', value: 'group-host-filter', type: 'custom', filterValues: { diff --git a/src/components/filters/useGroupFilter.test.js b/src/components/filters/useGroupFilter.test.js index 7e4ddd968..aa12c72ca 100644 --- a/src/components/filters/useGroupFilter.test.js +++ b/src/components/filters/useGroupFilter.test.js @@ -2,14 +2,8 @@ import { act, renderHook, waitFor } from '@testing-library/react'; import useFetchBatched from '../../Utilities/hooks/useFetchBatched'; import useGroupFilter from './useGroupFilter'; import { usePermissionsWithContext } from '@redhat-cloud-services/frontend-components-utilities/RBACHook'; -import useWorkspaceFeatureFlag from '../../Utilities/hooks/useWorkspaceFeatureFlag'; jest.mock('../../Utilities/hooks/useFetchBatched'); -jest.mock('../../Utilities/useFeatureFlag', () => ({ - __esModule: true, - default: () => true, -})); -jest.mock('../../Utilities/hooks/useWorkspaceFeatureFlag'); jest.mock('../InventoryGroups/utils/api', () => ({ __esModule: true, getGroups: () => @@ -63,10 +57,6 @@ describe('groups request not yet resolved', () => { }); describe('with some groups available', () => { - beforeEach(() => { - useWorkspaceFeatureFlag.mockReturnValue(false); - }); - const pageOffsetfetchBatched = jest.fn( () => new Promise((resolve) => resolve([{ results: [{ name: 'group-1' }] }])) diff --git a/src/constants.js b/src/constants.js index dea3f46af..afdf44ca8 100644 --- a/src/constants.js +++ b/src/constants.js @@ -243,12 +243,8 @@ export const REQUIRED_PERMISSIONS_TO_READ_GROUP_HOSTS = (groupId) => [ }, ]; -export const NO_MODIFY_GROUPS_TOOLTIP_MESSAGE = - 'You do not have the necessary permissions to modify groups. Contact your organization administrator.'; export const NO_MODIFY_WORKSPACES_TOOLTIP_MESSAGE = 'You do not have the necessary permissions to modify workspaces. Contact your organization administrator.'; -export const NO_MODIFY_GROUP_TOOLTIP_MESSAGE = - 'You do not have the necessary permissions to modify this group. Contact your organization administrator.'; export const NO_MODIFY_WORKSPACE_TOOLTIP_MESSAGE = 'You do not have the necessary permissions to modify this workspace. Contact your organization administrator.'; export const NO_MODIFY_HOSTS_TOOLTIP_MESSAGE =