superset/superset-frontend/cypress-base/cypress/support/directories.ts
Michael S. Molina d9a3c3e1dd
refactor: Removes the Filter Box code (#26328)
Co-authored-by: John Bodley <john.bodley@gmail.com>
2024-01-19 09:54:53 -03:00

680 lines
25 KiB
TypeScript

/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
const dataTestLocator = (value: string) => `[data-test='${value}']`;
export function dataTestChartName(chartName: string): string {
return `[data-test-chart-name='${chartName}']`;
}
export const pageHeader = {
logo: '.navbar-brand > img',
headerNavigationItem: '.ant-menu-submenu-title',
headerNavigationDropdown: "[aria-label='triangle-down']",
headerNavigationItemMenu: '.ant-menu-item-group-list',
plusIcon: ':nth-child(2) > .ant-menu-submenu-title',
plusIconMenuOptions: {
sqlQueryOption: dataTestLocator('menu-item-SQL query'),
chartOption: dataTestLocator('menu-item-Chart'),
dashboardOption: dataTestLocator('menu-item-Dashboard'),
},
plusMenu: '.ant-menu-submenu-popup',
barButtons: '[role="presentation"]',
sqlLabMenu: '[id="item_3$Menu"]',
dataMenu: '[id="item_4$Menu"]',
};
export const profile = {
activeTab: '.ant-tabs-tab-active',
inactiveTab: '.ant-tabs-tab',
emptyFavoritedPlaceholder: '.ant-empty-normal',
tableRow: '.table-row',
favoritesSpace: '#rc-tabs-0-panel-2',
};
export const securityAccess = {
rolesBubble: '.ant-badge-count',
};
export const homePage = {
homeSection: {
sectionArea: '.ant-collapse-content-box',
sectionElement: '.ant-card-meta-title',
},
sections: {
expandedSection: '.ant-collapse-item-active',
expandedSectionHeader: '[aria-expanded="true"]',
collapseExpandButton: '.ant-collapse-arrow',
collapsedSection: '[class="ant-collapse-item"]',
collapsedSectionHeader: '[aria-expanded="false"]',
section: '[class^="ant-collapse-item"]',
sectionsMenuContainer: "[role='navigation']",
sectionsMenuItem: "[role='menuitem']",
card: dataTestLocator('styled-card'),
},
thumbnailsSection: {
container: "[class='switch']",
toggle: "[role ='switch']",
},
};
export const databasesPage = {
addDatabaseButton: dataTestLocator('btn-create-database'),
searchInput: dataTestLocator('search-input'),
table: {
tableRow: dataTestLocator('table-row'),
tableCell: dataTestLocator('table-row-cell'),
editButton: dataTestLocator('edit-alt'),
},
modal: {
header: '#rcDialogTitle0 > h4',
step: '.helper-top',
selectDbStepTitle: '.select-db > h4',
preferredBlockBigQuery: '.preferred > :nth-child(1)',
preferredBlockPostgreSQL: '.preferred > :nth-child(2)',
preferredBlockSnowflake: '.preferred > :nth-child(3)',
preferredBlockMySQL: '.preferred > :nth-child(4)',
preferredBlockAthena: '.preferred > :nth-child(5)',
preferredBlockSheets: '.preferred > :nth-child(6)',
supportedDatabasesText: '.control-label',
orChoose: '.available-label',
dbDropdown: '[class="ant-select-selection-search-input"]',
dbDropdownMenu: '.rc-virtual-list-holder-inner',
dbDropdownMenuItem: '[class="ant-select-item-option-content"]',
infoAlert: '.ant-alert',
serviceAccountInput: '[name="credentials_info"]',
connectionStep: {
modal: '.ant-modal-content',
modalBody: '.ant-modal-body',
stepTitle: '.css-7x6kk > h4',
helperBottom: '.helper-bottom',
postgresDatabase: '[name="database"]',
dbInput: '[name="database_name"]',
alertMessage: '.ant-alert-message',
errorField: '[role="alert"]',
uploadJson: '[title="Upload JSON file"]',
chooseFile: '[class="ant-btn input-upload-btn"]',
additionalParameters: '[name="query_input"]',
sqlAlchemyUriInput: dataTestLocator('sqlalchemy-uri-input'),
advancedTab: '#rc-tabs-0-tab-2',
activeTab: '.ant-tabs-tab-active',
securitySubMenu:
':nth-child(3) > .ant-collapse-header > .anticon > svg > path',
aceTextInput: '.ace_text-input',
aceContent: '.ace_content',
connectButton: '.css-16i3wh7',
hostInput: '[name="host"]',
portInput: '[name="port"]',
usernameInput: '[name="username"]',
passwordInput: '[name="password"]',
switch: '.ant-switch',
},
},
};
export const sqlLabView = {
sqlEditorLeftBar: {
sqlEditorLeftBar: '[data-test="sql-editor-left-bar"]',
databaseSchemaTableSection:
'[data-test="sql-editor-left-bar"] > :nth-child(1)',
tableSchemaSection:
'[data-test="sql-editor-left-bar"] > :nth-child(1) > :nth-child(3) > :nth-child(1)',
tableSchemaInputEmpty: '[aria-label="Select table or type table name"]',
},
databaseInput: '[data-test=DatabaseSelector] > :nth-child(1)',
emptyMenuOptionsPlaceholder: '[class="ant-empty-img-simple"]',
removeTabButton: '.ant-tabs-tab-remove > .anticon > svg',
tabsNavList: "[class='ant-tabs-nav-list']",
tab: "[class='ant-tabs-tab-btn']",
addTabButton: dataTestLocator('add-tab-icon'),
tooltip: '.ant-tooltip-content',
tabName: '.css-1suejie',
schemaInput: '[data-test=DatabaseSelector] > :nth-child(2)',
loadingIndicator: '.Select__loading-indicator',
menuItem: '[class="ant-select-item-option-content"]',
examplesMenuItem: '[title="examples"]',
tableInput: ':nth-child(4) > .select > :nth-child(1)',
sqlEditor: '#brace-editor textarea',
saveAsButton: '.SaveQuery > .ant-btn',
saveAsModal: {
footer: '.ant-modal-footer',
queryNameInput: 'input[class^="ant-input"]',
},
sqlToolbar: {
toolbar: '#js-sql-toolbar',
runButton: '.css-d3dxop',
},
rowsLimit: {
dropdown: '.ant-dropdown-menu',
limitButton: '.ant-dropdown-menu-item',
limitButtonText: '.css-151uxnz',
limitTextWithValue: '[class="ant-dropdown-trigger"]',
},
renderedTableHeader: '.ReactVirtualized__Table__headerRow',
renderedTableRow: '.ReactVirtualized__Table__row',
errorBody: '.error-body',
alertMessage: '.ant-alert-message',
historyTable: {
header: '[role=columnheader]',
table: '.QueryTable',
row: dataTestLocator('table-row'),
failureMarkIcon: '[aria-label=x-small]',
successMarkIcon: '[aria-label=check]',
},
};
export const queryHistory = {
tableHeader: dataTestLocator('sort-header'),
row: dataTestLocator('table-row'),
cell: dataTestLocator('table-row-cell'),
action: '[aria-label=full]',
};
export const savedQuery = {
tableHeader: dataTestLocator('sort-header'),
row: dataTestLocator('table-row'),
cell: dataTestLocator('table-row-cell'),
trash: dataTestLocator('delete-action'),
deleteQueryIcon: '[data-test="delete-action"]',
deleteModal: {
deleteInput: dataTestLocator('delete-modal-input'),
deleteButton: dataTestLocator('modal-confirm-button'),
},
};
export const annotationLayersView = {
emptyDescription: {
description: '.ant-empty-description',
addAnnotationLayerButton: '.ant-empty-footer > .ant-btn',
},
modal: {
content: {
content: '.ant-modal-body',
title: '.ant-modal-body > :nth-child(2) > input',
description: "[name='descr']",
},
footer: {
footer: '.ant-modal-footer',
addButton: dataTestLocator('modal-confirm-button'),
cancelButton: dataTestLocator('modal-cancel-button'),
},
},
};
export const datasetsList = {
newDatasetButton: '.css-yff34v',
searchInput: dataTestLocator('filters-search'),
newDatasetModal: {
inputField: '[class="section"]',
addButton: dataTestLocator('modal-confirm-button'),
body: '.ant-modal-body',
},
table: {
tableRow: {
row: dataTestLocator('table-row'),
rowText: dataTestLocator('cell-text'),
rowCell: dataTestLocator('table-row-cell'),
},
tableRowHeader: {
header: dataTestLocator('sort-header'),
unsorted: '[aria-label="sort"]',
sortAsc: '[aria-label="sort-asc"]',
sortDesc: '[aria-label="sort-desc"]',
},
rowActionItems: dataTestLocator('table-row-cell'),
actionButton: '.action-button',
editButton: '[aria-label="edit-alt"]',
},
editDatasetModal: {
modal: dataTestLocator('edit-dataset-tabs'),
sourceNavigationTab: '#table-tabs-tab-0',
metricsNavigationTab: dataTestLocator('collection-tab-Metrics'),
columnsNavigationTab: dataTestLocator('collection-tab-Columns'),
calculatedColumnsNavigationTab: dataTestLocator(
'collection-tab-Calculated columns',
),
settingsNavigationTab: '#table-tabs-tab-4',
saveButton: dataTestLocator('datasource-modal-save'),
sourceContent: '#table-tabs-panel-0',
metricsContent: '#table-tabs-panel-1',
columnsContent: '#table-tabs-panel-2',
calculatedColumnsContent: '#table-tabs-panel-3',
settingsContent: '#table-tabs-panel-4',
aceTextInput: '.ace_text-input',
sourceSQLInput: '.ace_content',
sourceVirtualSQLRadio: ':nth-child(2) > .ant-radio > .ant-radio-inner',
sourcePadlock: '[aria-label=lock-locked]',
legacy: {
panel: '.panel-body',
sqlInput: '#sql',
save: '.well > .btn-primary',
description: '#description',
},
},
deleteDatasetModal: {
modal: '.ant-modal-content',
deleteInput: dataTestLocator('delete-modal-input'),
deleteButton: dataTestLocator('modal-confirm-button'),
text: '.css-kxmt87',
},
};
export const chartListView = {
filtersBar: {
searchField: dataTestLocator('filters-search'),
},
top: {
bulkSelect: dataTestLocator('bulk-select'),
},
header: {
cardView: '[aria-label="card-view"]',
listView: '[aria-label="list-view"]',
sort: '[class="ant-select-selection-search-input"][aria-label="Sort"]',
sortRecentlyModifiedMenuOption: '[label="Recently modified"]',
sortAlphabeticalMenuOption: '[label="Alphabetical"]',
sortDropdown: '.Select__menu',
},
card: {
card: dataTestLocator('styled-card'),
cardCover: '[class="ant-card-cover"]',
cardImage: '[class="gradient-container"]',
selectedStarIcon: "[aria-label='favorite-selected']",
unselectedStarIcon: "[aria-label='favorite-unselected']",
starIcon: dataTestLocator('fave-unfave-icon'),
},
deleteModal: {
deleteInput: dataTestLocator('delete-modal-input'),
deleteButton: dataTestLocator('modal-confirm-button'),
},
table: {
bulkSelect: {
checkboxOff: '[aria-label="checkbox-off"]',
checkboxOn: '[aria-label="checkbox-on"]',
action: dataTestLocator('bulk-select-action'),
},
tableList: dataTestLocator('listview-table'),
table: '[role="rowgroup"]',
tableRowHeader: {
header: dataTestLocator('sort-header'),
unsorted: '[aria-label="sort"]',
sortAsc: '[aria-label="sort-asc"]',
sortDesc: '[aria-label="sort-desc"]',
},
tableRow: {
row: dataTestLocator('table-row'),
rowText: dataTestLocator('cell-text'),
rowCell: dataTestLocator('table-row-cell'),
},
},
addChartButton: '.css-yff34v',
};
export const nativeFilters = {
modal: {
container: '.ant-modal',
footer: '.ant-modal-footer',
saveButton: dataTestLocator('native-filter-modal-save-button'),
cancelButton: dataTestLocator('native-filter-modal-cancel-button'),
yesCancelButton: '[type="button"]',
alertXUnsavedFilters: '.ant-alert-message',
tabsList: {
filterItemsContainer: dataTestLocator('filter-title-container'),
tabsContainer: '[class="ant-tabs-nav-list"]',
tab: '.ant-tabs-tab',
removeTab: '[aria-label="trash"]',
},
addFilter: dataTestLocator('add-filter-button'),
defaultValueCheck: '.ant-checkbox-checked',
},
addFilterButton: {
button: `.ant-modal-content [data-test="new-dropdown-icon"]`,
dropdownItem: '.ant-dropdown-menu-item',
},
filtersPanel: {
filterName: dataTestLocator('filters-config-modal__name-input'),
datasetName: dataTestLocator('filters-config-modal__datasource-input'),
filterInfoInput: '.ant-select-selection-search-input',
inputDropdown: '.ant-select-item-option-content',
columnEmptyInput: '.ant-select-selection-placeholder',
filterTypeInput: dataTestLocator('filters-config-modal__filter-type'),
fieldInput: dataTestLocator('field-input'),
filterTypeItem: '.ant-select-selection-item',
},
filterFromDashboardView: {
filterValueInput: '[class="ant-select-selection-search-input"]',
expand: dataTestLocator('filter-bar__expand-button'),
collapse: dataTestLocator('filter-bar__collapse-button'),
filterName: dataTestLocator('filter-control-name'),
filterContent: '.ant-select-selection-item',
createFilterButton: dataTestLocator('filter-bar__create-filter'),
timeRangeFilterContent: dataTestLocator('time-range-trigger'),
},
createFilterButton: dataTestLocator('filter-bar__create-filter'),
removeFilter: '[aria-label="remove"]',
silentLoading: '.loading inline-centered css-101mkpk',
filterConfigurationSections: {
sectionHeader: '.ant-collapse-header',
displayedSection: 'div[style="height: 100%; overflow-y: auto;"]',
collapseExpandButton: '.ant-collapse-arrow',
checkedCheckbox: '.ant-checkbox-wrapper-checked',
infoTooltip: '[aria-label="Show info tooltip"]',
parentFilterInput: dataTestLocator('parent-filter-input'),
filterPlaceholder: '.ant-select-selection-placeholder',
collapsedSectionContainer: '[class="ant-collapse-content-box"]',
},
filtersList: {
list: '.ant-tabs-nav-list',
listItemNotActive: '[class="ant-tabs-tab ant-tabs-tab-with-remove"]',
listItemActive:
'[class="ant-tabs-tab ant-tabs-tab-with-remove ant-tabs-tab-active"]',
removeIcon: '[aria-label="trash"]',
},
filterItem: dataTestLocator('form-item-value'),
filterItemDropdown: '.ant-select-selection-search',
applyFilter: dataTestLocator('filter-bar__apply-button'),
defaultInput: dataTestLocator('default-input'),
filterIcon: dataTestLocator('filter-icon'),
slider: {
slider: '[class="ant-slider"]',
startHandle: '[class="ant-slider-handle ant-slider-handle-1"]',
endHandle: '[class="ant-slider-handle ant-slider-handle-2"]',
sliderText: '[class="ant-slider-mark-text ant-slider-mark-text-active"]',
},
};
export const dashboardListView = {
dashboardListView: dataTestLocator('dashboard-list-view'),
editItemAction: dataTestLocator('edit-alt'),
filtersBar: {
searchField: dataTestLocator('filters-search'),
},
top: {
bulkSelect: dataTestLocator('bulk-select'),
},
card: {
card: dataTestLocator('styled-card'),
cardCover: '[class="ant-card-cover"]',
cardImage: '[class="gradient-container"]',
selectedStarIcon: "[aria-label='favorite-selected']",
unselectedStarIcon: "[aria-label='favorite-unselected']",
starIcon: dataTestLocator('fave-unfave-icon'),
},
deleteModal: {
deleteInput: dataTestLocator('delete-modal-input'),
deleteButton: dataTestLocator('modal-confirm-button'),
},
table: {
starIcon: dataTestLocator('fave-unfave-icon'),
selectedStarIcon: "[aria-label='favorite-selected']",
unselectedStarIcon: "[aria-label='favorite-unselected']",
bulkSelect: {
checkboxOff: '[aria-label="checkbox-off"]',
checkboxOn: '[aria-label="checkbox-on"]',
action: dataTestLocator('bulk-select-action'),
},
tableRow: {
sortHeader: dataTestLocator('sort-header'),
row: dataTestLocator('table-row'),
rowText: dataTestLocator('cell-text'),
rowCell: dataTestLocator('table-row-cell'),
},
tableRowList: '[role="rowgroup"]',
tableList: dataTestLocator('listview-table'),
trashIcon: dataTestLocator('dashboard-list-trash-icon'),
},
actions: {
importButton: dataTestLocator('import-button'),
newDashboardButton: '.css-yff34v',
},
importModal: {
selectFileButton: '.ant-upload > .ant-btn > span',
importButton: dataTestLocator('modal-confirm-button'),
},
header: {
cardView: '[aria-label="card-view"]',
listView: '[aria-label="list-view"]',
sort: dataTestLocator('sort-header'),
sortDropdown: '.Select__menu',
statusFilterInput: `${dataTestLocator(
'filters-select',
)}[aria-label='Status']`,
ownerFilterInput: `${dataTestLocator(
'filters-select',
)}[aria-label='Owner']`,
createdByFilterInput: `${dataTestLocator(
'filters-select',
)}[aria-label='Created by']`,
FavoriteFilterInput: `${dataTestLocator(
'filters-select',
)}[aria-label='Favorite']`,
searchFilterInput: `${dataTestLocator(
'filters-search',
)}[name='dashboard_title']`,
draftStatusFilterOption: "[title='Draft']",
},
};
export const exploreView = {
openDatasourceMenu: dataTestLocator('open-datasource-tab'),
sectionsHeader: '.ant-collapse-header',
datasourceMenuThreeDots: dataTestLocator('datasource-menu-trigger'),
threeDotsMenuDropdown: {
editDataset: dataTestLocator('edit-dataset'),
},
chartContainer: dataTestLocator('chart-container'),
chartHeading: {
queryMenu: '#query',
viewQueryButton: dataTestLocator('view-query-menu-item'),
shortLinkButton: dataTestLocator('short-link-button'),
embedCodeButton: dataTestLocator('embed-code-button'),
},
chartAreaItem: '.nv-legend-text',
viewQueryModal: {
container: '.ant-modal-content',
closeButton: 'button.ant-modal-close',
},
embedCodeModal: {
container: dataTestLocator('embed-code-popover'),
textfield: dataTestLocator('embed-code-textarea'),
},
saveModal: {
modal: '.ant-modal-content',
chartNameInput: dataTestLocator('new-chart-name'),
dashboardNameInput: '.ant-select-selection-search-input',
addToDashboardInput: dataTestLocator(
'save-chart-modal-select-dashboard-form',
),
saveButton: dataTestLocator('btn-modal-save'),
saveAsCircle: dataTestLocator('saveas-radio'),
overwriteCircle: dataTestLocator('save-overwrite-radio'),
saveAndGoToDashboard: '#btn_modal_save_goto_dash',
},
controlPanel: {
panel: dataTestLocator('control-tabs'),
categoryArea: '.ant-collapse-content-box',
dragField: dataTestLocator('datasource'),
metricsField: dataTestLocator('metrics'),
optionField: dataTestLocator('option-label'),
fieldInput: '.Select__control input',
removeFieldValue: dataTestLocator('remove-control-button'),
addFieldValue: '[aria-label="plus-small"]',
vizType: dataTestLocator('visualization-type'),
runButton: dataTestLocator('run-query-button'),
saveQuery: dataTestLocator('query-save-button'),
fieldValue: dataTestLocator('control-label'),
addMetricModal: {
container: dataTestLocator('metrics-edit-popover'),
metricNameEdit: {
editButton: dataTestLocator('AdhocMetricEditTitle#trigger'),
input: dataTestLocator('AdhocMetricEditTitle#input'),
},
simpleTab: {
tab: '#adhoc-metric-edit-tabs-tab-SIMPLE',
columnInput: '[name="select-column"]',
aggregateInput: '[name="select-aggregate"]',
},
customSQLTab: {
tab: '#adhoc-metric-edit-tabs-tab-SQL',
inputContainerField: '.ace_content',
input: '.ace_text-input',
},
saveButton: dataTestLocator('AdhocMetricEdit#save'),
},
querySection: {
groupByField: dataTestLocator('groupby'),
filtersField: dataTestLocator('adhoc_filters'),
filterValue: dataTestLocator('adhoc-filter-simple-value'),
filterModal: {
customSQL: {
tab: '#adhoc-filter-edit-tabs-tab-SQL',
inputArea: '.ace_content',
input: '.ace_text-input',
},
simple: {
tab: '#adhoc-filter-edit-tabs-tab-SIMPLE',
},
container: dataTestLocator('filter-edit-popover'),
saveButton: dataTestLocator('adhoc-filter-edit-popover-save-button'),
},
},
annotationLayerSection: {
addAnnotationLayer: dataTestLocator('annotation_layers'),
addAnnotationLayerModal: {
container: dataTestLocator('popover-content'),
name: dataTestLocator('annotation-layer-name-header'),
formula: dataTestLocator('annotation-layer-value-header'),
input: dataTestLocator(''),
},
},
timeSection: {
timeRangeFilter: dataTestLocator('time-range-trigger'),
timeRangeFilterModal: {
container: '.ant-popover-content',
footer: '.footer',
cancelButton: dataTestLocator('cancel-button'),
configureLastTimeRange: {
container: '.ant-radio-group',
checkedItem: '.ant-radio-checked + span',
},
configureCustomTimeRange: {
container: dataTestLocator('custom-frame'),
timeInput: '.ant-input-number-input-wrap > input',
},
configureNoFilterTimeRange: {
container: dataTestLocator('no-filter'),
},
},
},
advancedAnalyticsSection: {
timeShift: {
container: dataTestLocator('time_compare'),
input: 'input[type=text]',
selectedValues: '.Select__multi-value__label',
},
},
},
editDatasetModal: {
container: '.ant-modal-content',
datasetTabsContainer: dataTestLocator('edit-dataset-tabs'),
saveButton: dataTestLocator('datasource-modal-save'),
metricsTab: {
addItem: dataTestLocator('crud-add-table-item'),
rowsContainer: dataTestLocator('table-content-rows'),
},
confirmModal: {
okButton: '.ant-modal-confirm-btns .ant-btn-primary',
},
},
visualizationTypeModal: {
vizTypeButton: dataTestLocator('viztype-selector-container'),
},
};
export const createChartView = {
chooseDatasetInput: '.ant-select-selection-search-input',
chooseDatasetOption: '.ant-select-item-option-content',
chooseDatasetList: '.rc-virtual-list-holder-inner',
tableVizType: "[alt='Table']",
};
export const editDashboardView = {
dashboardName: dataTestLocator('dashboard-title-input'),
dashboardEditingContainer: dataTestLocator('dashboard-content'),
editComponent: dataTestLocator('new-component'),
discardChanges: dataTestLocator('discard-changes-button'),
chartBox: dataTestLocator('chart-grid-component'),
tabsList: {
tabsContainer: '[class="ant-tabs-nav-list"]',
tab: '.ant-tabs-tab',
},
};
export const dashboardView = {
dashboardContainer: dataTestLocator('grid-container'),
dashboardAlert: {
modal: dataTestLocator('toast-container'),
closeButton: dataTestLocator('close-button'),
},
saveModal: {
modal: '.ant-modal-content',
dashboardNameInput: '.ant-input',
saveButton: dataTestLocator('modal-save-dashboard-button'),
},
dashboardProperties: {
modal: '.ant-modal-content',
dashboardTitleInput: dataTestLocator('dashboard-title-input'),
modalButton: '[type="button"]',
},
chart: {
trashIcon: dataTestLocator('dashboard-delete-component-button'),
refreshChart: dataTestLocator('refresh-chart-menu-item'),
},
threeDotsMenuIcon:
'.header-with-actions .right-button-panel .ant-dropdown-trigger',
threeDotsMenuDropdown: dataTestLocator('header-actions-menu'),
refreshDashboard: dataTestLocator('refresh-dashboard-menu-item'),
saveAsMenuOption: dataTestLocator('save-as-menu-item'),
dashboardTab: dataTestLocator('dragdroppable-object'),
salesDashboardSpecific: {
vehicleSalesFilterTimeRange: dataTestLocator('time-range-trigger'),
secondTabSalesDashboard: dataTestLocator('dragdroppable-object'),
},
timeRangeModal: {
rangeTypeField: '.ant-select-selection-item',
startTimeInputNumber: '.ant-input-number-input',
datePicker: '.ant-picker-input',
applyButton: dataTestLocator('date-filter-control__apply-button'),
radioGroup: '.ant-radio-group',
radioButton: '.ant-radio',
finalFilterRangePreviewCustom:
'.css-c2bup7 > :nth-child(6) > :nth-child(2)',
finalFilterRangePreviewLast: '.css-c2bup7 > :nth-child(7) > :nth-child(2)',
finalFilterRangePreviewPrevious:
'.css-c2bup7 > :nth-child(7) > :nth-child(2)',
},
treeMapChartModal: {
selectItem: '.Select_control',
selectItemInput: '.Select__control input[type=text]',
applyButton: '.filter button:not(:disabled)',
clearItemIcon: '.Select__clear-indicator',
},
sliceThreeDots: '[aria-label="More Options"]',
sliceThreeDotsDropdown: '[role="menu"]',
editDashboardButton: '[aria-label="Edit dashboard"]',
starIcon: dataTestLocator('fave-unfave-icon'),
dashboardHeader: dataTestLocator('dashboard-header'),
dashboardSectionContainer: dataTestLocator(
'grid-row-background--transparent',
),
markdownEditor: dataTestLocator('dashboard-markdown-editor'),
dashboardComponent: dataTestLocator('dashboard-component-chart-holder'),
tabsList: {
tabsContainer: dataTestLocator('dashboard-component-tabs'),
tabsNavList: dataTestLocator('nav-list'),
tabs: '.ant-tabs-nav-list',
tab: '.ant-tabs-tab',
},
};