From be45a773150da8582061e9247f05f452cdc58d93 Mon Sep 17 00:00:00 2001 From: maria-hambardzumian Date: Mon, 16 Sep 2024 17:58:19 +0400 Subject: [PATCH] EPMRPP-92430 || code review fix - 1 --- app/src/common/constants/permissions.js | 3 --- .../common/utils/permissions/permissions.js | 1 - .../common/launchSuiteGrid/launchSuiteGrid.jsx | 10 +++++----- .../common/statusDropdown/statusDropdown.jsx | 5 +---- .../actionPanel/testItemActionPanel.jsx | 4 ++-- .../stepGrid/defectType/defectType.jsx | 2 +- .../inside/stepPage/stepGrid/stepGrid.jsx | 5 ++--- app/src/pages/inside/suitesPage/suitesPage.jsx | 9 ++++++--- app/src/pages/inside/testsPage/testsPage.jsx | 18 ++++++++++-------- 9 files changed, 27 insertions(+), 30 deletions(-) diff --git a/app/src/common/constants/permissions.js b/app/src/common/constants/permissions.js index bfae2b4815..c9e5a4ffc4 100644 --- a/app/src/common/constants/permissions.js +++ b/app/src/common/constants/permissions.js @@ -64,7 +64,6 @@ export const ACTIONS = { SEE_EMAIL_MEMBERS: 'SEE_EMAIL_MEMBERS', SEE_ROW_ACTION_MENU: 'SEE_ROW_ACTION_MENU', ACCESS_INSTANCE_LEVEL_PAGES: 'ACCESS_INSTANCE_LEVEL_PAGES', - MANAGE_TEST_ITEMS_ACTIONS: 'MANAGE_TEST_ITEMS_ACTIONS', }; export const PERMISSIONS_MAP = { @@ -104,7 +103,6 @@ export const PERMISSIONS_MAP = { [ACTIONS.WORK_WITH_TESTS]: true, [ACTIONS.SEE_EMAIL_MEMBERS]: true, [ACTIONS.SEE_ROW_ACTION_MENU]: true, - [ACTIONS.MANAGE_TEST_ITEMS_ACTIONS]: true, }, [MEMBER]: { [VIEWER]: { @@ -139,7 +137,6 @@ export const PERMISSIONS_MAP = { [ACTIONS.WORK_WITH_DASHBOARD]: true, [ACTIONS.WORK_WITH_TESTS]: true, [ACTIONS.SEE_ROW_ACTION_MENU]: true, - [ACTIONS.MANAGE_TEST_ITEMS_ACTIONS]: true, }, }, }; diff --git a/app/src/common/utils/permissions/permissions.js b/app/src/common/utils/permissions/permissions.js index d56cbb9760..9cc74386c3 100644 --- a/app/src/common/utils/permissions/permissions.js +++ b/app/src/common/utils/permissions/permissions.js @@ -84,4 +84,3 @@ export const canWorkWithTests = checkPermission(ACTIONS.WORK_WITH_TESTS); export const canSeeEmailMembers = checkPermission(ACTIONS.SEE_EMAIL_MEMBERS); export const canSeeRowActionMenu = checkPermission(ACTIONS.SEE_ROW_ACTION_MENU); export const canSeeSidebarOptions = checkPermission(ACTIONS.ACCESS_INSTANCE_LEVEL_PAGES); -export const canManageTestItemsActions = checkPermission(ACTIONS.MANAGE_TEST_ITEMS_ACTIONS); diff --git a/app/src/pages/inside/common/launchSuiteGrid/launchSuiteGrid.jsx b/app/src/pages/inside/common/launchSuiteGrid/launchSuiteGrid.jsx index 3b2f6e15dd..a8d2ec4a51 100644 --- a/app/src/pages/inside/common/launchSuiteGrid/launchSuiteGrid.jsx +++ b/app/src/pages/inside/common/launchSuiteGrid/launchSuiteGrid.jsx @@ -284,7 +284,7 @@ export const LaunchSuiteGrid = React.memo( [onFilterClick], ); - const getColumns = useMemo(() => { + const columns = useMemo(() => { const hamburgerColumn = { component: HamburgerColumn, customProps: { @@ -296,7 +296,7 @@ export const LaunchSuiteGrid = React.memo( }, }; - const columns = [ + const baseColumns = [ { id: ENTITY_NAME, title: { @@ -445,10 +445,10 @@ export const LaunchSuiteGrid = React.memo( ]; if (withHamburger) { - columns.unshift(hamburgerColumn); + baseColumns.unshift(hamburgerColumn); } - return columns; + return baseColumns; }, [ events, withHamburger, @@ -470,7 +470,7 @@ export const LaunchSuiteGrid = React.memo( return ( <> ({ label: withIndicator ? ( - + ) : ( formatStatus(intl.formatMessage, item) diff --git a/app/src/pages/inside/common/suiteTestToolbar/actionPanel/testItemActionPanel.jsx b/app/src/pages/inside/common/suiteTestToolbar/actionPanel/testItemActionPanel.jsx index bb2580ce60..4605048f22 100644 --- a/app/src/pages/inside/common/suiteTestToolbar/actionPanel/testItemActionPanel.jsx +++ b/app/src/pages/inside/common/suiteTestToolbar/actionPanel/testItemActionPanel.jsx @@ -39,7 +39,7 @@ import { createStepActionDescriptors } from 'pages/inside/common/utils'; import { ParentInfo } from 'pages/inside/common/infoLine/parentInfo'; import { pageEventsMap } from 'components/main/analytics'; import { TO_INVESTIGATE_LOCATOR_PREFIX } from 'common/constants/defectTypes'; -import { canManageTestItemsActions } from 'common/utils/permissions/permissions'; +import { canWorkWithTests } from 'common/utils/permissions/permissions'; import styles from './testItemActionPanel.scss'; const cx = classNames.bind(styles); @@ -73,7 +73,7 @@ export const TestItemActionPanel = ({ const { trackEvent } = useTracking(); const dispatch = useDispatch(); - const hasAccessToActions = canManageTestItemsActions(userRoles); + const hasAccessToActions = canWorkWithTests(userRoles); const onClickRefresh = () => { trackEvent(pageEventsMap[level].CLICK_REFRESH_BTN); onRefresh(); diff --git a/app/src/pages/inside/stepPage/stepGrid/defectType/defectType.jsx b/app/src/pages/inside/stepPage/stepGrid/defectType/defectType.jsx index 2dca3ddcf2..ffb0adb202 100644 --- a/app/src/pages/inside/stepPage/stepGrid/defectType/defectType.jsx +++ b/app/src/pages/inside/stepPage/stepGrid/defectType/defectType.jsx @@ -99,7 +99,7 @@ export const DefectType = ({ issue, onEdit, onRemove, patternTemplates, events, onClickEdit(events.onEditEvent?.(eventData)) } diff --git a/app/src/pages/inside/stepPage/stepGrid/stepGrid.jsx b/app/src/pages/inside/stepPage/stepGrid/stepGrid.jsx index 99dd3e4083..9b64fa4859 100644 --- a/app/src/pages/inside/stepPage/stepGrid/stepGrid.jsx +++ b/app/src/pages/inside/stepPage/stepGrid/stepGrid.jsx @@ -38,7 +38,6 @@ import { formatAttribute } from 'common/utils/attributeUtils'; import { StatusDropdown } from 'pages/inside/common/statusDropdown/statusDropdown'; import { canBulkEditItems, - canManageTestItemsActions, canWorkWithDefectTypes, canWorkWithTests, } from 'common/utils/permissions/permissions'; @@ -203,7 +202,7 @@ export const StepGrid = ({ const { trackEvent } = useTracking(); const { formatMessage } = useIntl(); const userRoles = useSelector(userRolesSelector); - const canSelectItems = canManageTestItemsActions(userRoles); + const canManageTests = canWorkWithTests(userRoles); const handleAttributeFilterClick = (attribute) => { onFilterClick( @@ -329,7 +328,7 @@ export const StepGrid = ({ onToggleSelectAll={onAllItemsSelect} onItemsSelect={onItemsSelect} selectedItems={selectedItems} - selectable={canSelectItems} + selectable={canManageTests} rowClassMapper={highlightFailedItems} loading={loading} groupHeader={GroupHeader} diff --git a/app/src/pages/inside/suitesPage/suitesPage.jsx b/app/src/pages/inside/suitesPage/suitesPage.jsx index fb7c7bdcff..565abaacc6 100644 --- a/app/src/pages/inside/suitesPage/suitesPage.jsx +++ b/app/src/pages/inside/suitesPage/suitesPage.jsx @@ -44,8 +44,9 @@ import { } from 'controllers/testItem'; import { prevTestItemSelector, userRolesSelector } from 'controllers/pages'; import { ENTITY_START_TIME } from 'components/filterEntities/constants'; -import { canManageTestItemsActions } from 'common/utils/permissions/permissions'; +import { canWorkWithTests } from 'common/utils/permissions/permissions'; +// TODO: Refactor to avoid duplication export const SuitesPageWrapped = ({ deleteItems, onEditItem, @@ -78,8 +79,10 @@ export const SuitesPageWrapped = ({ const validationErrors = useSelector(validationErrorsSelector); const highlightItemId = useSelector(prevTestItemSelector); const userRoles = useSelector(userRolesSelector); - const canSelectItems = canManageTestItemsActions(userRoles); + const canManageTests = canWorkWithTests(userRoles); const dispatch = useDispatch(); + + // TODO - extract highlighting into custom hook const onHighlightRow = (rowId) => { setHighlightedRowId(rowId); setIsGridRowHighlighted(true); @@ -175,7 +178,7 @@ export const SuitesPageWrapped = ({ onFilterClick={onFilterAdd} onEditItem={onEditItem} rowHighlightingConfig={rowHighlightingConfig} - selectable={canSelectItems} + selectable={canManageTests} /> {!!pageCount && !loading && ( { setHighlightedRowId(rowId); setIsGridRowHighlighted(true); @@ -92,14 +94,14 @@ export const TestsPageWrapped = ({ const handleAllTestsSelection = () => { if (tests.length !== selectedTests.length) { - trackEvent({ event: TESTS_PAGE_EVENTS.CLICK_SELECT_ALL_ITEMS }); + trackEvent(TESTS_PAGE_EVENTS.CLICK_SELECT_ALL_ITEMS); } dispatch(toggleAllTestsAction(tests)); }; const handleOneItemSelection = (value) => { if (!selectedTests.includes(value)) { - trackEvent({ event: TESTS_PAGE_EVENTS.CLICK_SELECT_ONE_ITEM }); + trackEvent(TESTS_PAGE_EVENTS.CLICK_SELECT_ONE_ITEM); } dispatch(toggleTestSelectionAction(value)); }; @@ -109,12 +111,12 @@ export const TestsPageWrapped = ({ }; const unselectAllItems = () => { - trackEvent({ event: TESTS_PAGE_EVENTS.CLOSE_ICON_FOR_ALL_SELECTIONS }); + trackEvent(TESTS_PAGE_EVENTS.CLOSE_ICON_FOR_ALL_SELECTIONS); dispatch(unselectAllTestsAction()); }; const unselectItem = (item) => { - trackEvent({ event: TESTS_PAGE_EVENTS.CLOSE_ICON_SELECTED_ITEM }); + trackEvent(TESTS_PAGE_EVENTS.CLOSE_ICON_SELECTED_ITEM); dispatch(toggleTestSelectionAction(item)); }; @@ -150,7 +152,7 @@ export const TestsPageWrapped = ({ parentItem={parentItem} onUnselect={unselectItem} onUnselectAll={unselectAllItems} - onProceedValidItems={() => trackEvent({ event: TESTS_PAGE_EVENTS.PROCEED_VALID_ITEMS })} + onProceedValidItems={() => trackEvent(TESTS_PAGE_EVENTS.PROCEED_VALID_ITEMS)} onRefresh={handleRefresh} debugMode={debugMode} errors={validationErrors} @@ -178,7 +180,7 @@ export const TestsPageWrapped = ({ onFilterClick={onFilterAdd} onEditItem={onEditItem} rowHighlightingConfig={rowHighlightingConfig} - selectable={canSelectItems} + selectable={canManageTests} /> {!!pageCount && !loading && (