UNPKG

@elastic-suite/gally-admin-components

Version:
148 lines (143 loc) 5.39 kB
// TODO: factorize this with front/e2e/tests/helper/testIds.ts export enum TestId { CATALOGS = 'catalogs', NB_ACTIVE_LOCALES = 'nbActiveLocales', LANGUAGE = 'language', INPUT_TEXT = 'inputText', INPUT_INTEGER = 'inputInteger', INPUT_FLOAT = 'inputFloat', RANGE_TO_INPUT = 'rangeToInput', RANGE_FROM_INPUT = 'rangeFromInput', SLIDER = 'slider', RANGE_DATE_FROM = 'rangeDateFrom', RANGE_DATE_TO = 'rangeDateTo', RULE_ENGINE = 'ruleEngine', REQUEST_TYPE = 'requestType', REQUEST_TYPE_ITEM = 'requestTypeItem', SYNONYM = 'synonym', SYNONYM_ADD_BUTTON = 'synonymAddButton', SYNONYM_REMOVE_BUTTON = 'synonymRemoveButton', TEXT_FIELD_TAGS = 'textFieldTags', TEXT_FIELD_TAGS_CLEAN_BUTTON = 'textFieldTagsCleanButton', TEXT_FIELD_TAGS_MULTIPLE = 'textFieldTagsMultiple', TEXT_FIELD_TAGS_MULTIPLE_ADD_BUTTON = 'textFieldTagsMultipleAddButton', EXPANSION = 'expansion', EXPANSION_REFERENCE_TERM = 'expensionReferenceTerm', EXPANSION_TERMS = 'expensionTerms', EXPANSION_TRASH_BUTTON = 'expensionTrashButton', EXPANSION_ADD_BUTTON = 'expensionAddButton', MULTIPLE_INPUT = 'multipleInput', SELECT = 'select', SWITCH = 'switch', TREE_SELECTOR = 'treeSelector', DROPDOWN = 'dropdown', DROPDOWN_OPTION = 'dropdownOption', DROPDOWN_COLLAPSING_ICON = 'dropdownCollapsingIcon', DROPDOWN_OPTION_GROUP_TITLE = 'dropdownOptionGroupTitle', DROPDOWN_CLEAR_ICON = 'dropdownClearIcon', HELPER_TEXT = 'helperText', CHECKBOX = 'checkbox', CHIP = 'chip', CHIP_DELETE_ICON = 'chipDeleteIcon', IONICON = 'ionicon', FILTER = 'filter', FILTER_CHIPS_BOX = 'filterChipsBox', FILTER_APPLY_BUTTON = 'filterApplyButton', FILTER_CLEAR_BUTTON = 'filterClearIcon', FILTER_NB_ACTIVE_FILTERS = 'filterNbActiveFilters', FILTER_TOGGLE_BUTTON = 'filterToggleButton', FILTER_SEARCH_BAR = 'filterSearchBar', BUTTON = 'button', APP_BAR = 'appBar', USER_MENU = 'userMenu', USER_MENU_CONTENT = 'userMenuContent', LOG_OUT_BUTTON = 'logOutButton', ALERT = 'alert', TABLE = 'table', PAGINATION = 'pagination', PAGINATION_FROM = 'paginationFrom', PAGINATION_TO = 'paginationTo', PAGINATION_COUNT = 'paginationCount', POPIN_CATALOGS = 'popinCatalogs', SIDE_BAR = 'sidebar', SIDE_BAR_COLLAPSING_BUTTON = 'sidebarCollapsingButton', MENU_ITEM = 'menuItem', MENU_ITEM_CHILDREN = 'menuItemChildren', MENU_ITEM_CHILDREN_COLLAPSING_BUTTON = 'menuItemChildrenCollapsingButton', MENU_ITEM_ICON = 'menuItemIcon', LABEL_MENU_ITEM_ICON = 'labelMenuItemIcon', MENU_ITEM_LINK = 'menuItemLink', MENU_ITEM_LINK_LABEL = 'menuItemLinkLabel', BREADCRUMBS = 'breadcrumbs', HELP_TOOLTIP = 'helpTooltip', HELP_OVER = 'helpOver', USER_NAME = 'userName', USER_EMAIL = 'userEmail', SCORE = 'score', SCORE_CONTAINER = 'scoreContainer', STOCK = 'stock', PRICE = 'price', OTHER_READABLE_FIELD = 'otherReadableField', EXPLAIN_DETAILS = 'explainDetails', EXPLAIN_DETAILS_NAME = 'explainDetailsName', EXPLAIN_DETAILS_GENERAL_INFORMATION = 'explainDetailsGeneralInformation', READ_ONLY_TABLE = 'readOnlyTable', READ_ONLY_TABLE_ROW = 'readOnlyTableRow', READ_ONLY_TABLE_ROW_IMPORTANT = 'readOnlyTableRowImportant', READ_ONLY_TABLE_COLLAPSING_BUTTON = 'readOnlyTableCollapsingButton', DIALOG = 'dialog', DIALOG_CONTENT = 'dialogContent', DIALOG_CLOSE_BUTTON = 'dialogCloseButton', DIALOG_CANCEL_BUTTON = 'dialogCancelButton', DIALOG_CONFIRM_BUTTON = 'dialogConfirmButton', GRID_CREATE_BUTTON = 'gridCreateButton', GRID_JOB_BUTTON = 'gridJobButton', FIELD_SET = 'fieldSet', PREVIEW_REQUIRED_MESSAGE = 'previewRequiredMessage', RESOURCE_TABLE_NB_CUSTOM_VALUES_MESSAGE = 'resourceTableNbCustomValuesMessage', TREE = 'tree', TREE_ITEM_TITLE_BUTTON = 'treeItemTitleButton', TREE_COLLAPSING_ITEM_LIST_BUTTON = 'treeCollapsingItemListButton', FACETS_SETTINGS_BUTTON = 'facetDefaultValuesButton', FACETS_PAGE_TITLE = 'facetsPageTitle', PAGE_TITLE = 'pageTitle', PRODUCTS_CONTAINER = 'productsContainer', PRODUCTS_CONTAINER_SAVE_BUTTON = 'productsContainerSaveButton', PRODUCTS_CONTAINER_SEARCH_BAR = 'productsContainerSearchBar', TOP_AND_BOTTOM_TABLE = 'topAndBottomTable', TITLE_BLOCK = 'titleBlock', TABS = 'tabs', TAB = 'tab', RULES_MANAGER = 'rulesManager', COMBINATION_RULES = 'combinationRules', CONFIGURATION_FORM = 'configurationForm', IMPORT_EXPORT_PROFILE_RUN = 'importExportProfileRun', LOGS = 'logs', JOBFILE = 'jobFile', JOBPROFILE = 'jobProfile', STATUS = 'status', UPLOAD_JOB_FILE_MODAL = 'uploadJobFileModal', UPLOAD_JOB_FILE_MODAL_TITLE = 'uploadJobFileModalTitle', FILE_UPLOAD_DROPZONE = 'fileUploadDropZone', FILE_UPLOAD_DROPZONE_SELECTED_FILE_NAME = 'selectedFileName', FILE_DOWNLOADER = 'fileDownloader', KPI = 'kpi', KPI_GROUP = 'kpiGroup', KPI_FILTERS = 'kpiFilters', } export const TEST_ID_SEPARATOR = '|' type ItemIds = (TestId | string)[] type ItemId = `${typeof TEST_ID_SEPARATOR}${TestId | string}` | '' export type FullTestId = `${TestId}${ItemId}` function normalizeItemId(itemIds: ItemIds): ItemId { const filtered = itemIds.filter((itemId) => itemId) return filtered.length > 0 ? (`${TEST_ID_SEPARATOR}${filtered.join(TEST_ID_SEPARATOR)}` as ItemId) : '' } export function generateTestId( testId: TestId, ...itemIds: ItemIds ): FullTestId { return `${testId}${normalizeItemId(itemIds)}` }