Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions src/shared/constants/qa/components.ts
Original file line number Diff line number Diff line change
Expand Up @@ -145,8 +145,17 @@ export enum DialogDashWidgetQA {
export const enum DialogFieldEditorQA {
ApplyButton = 'dialog-field-editor-apply-button',
CancelButton = 'dialog-field-editor-cancel-button',
EditNameButton = 'dialog-field-editor-edit-name-button',
}

export const DialogFilterQA = {
Dialog: 'dialog-filter',
ApplyButton: 'dialog-filter-apply-button',
CancelButton: 'dialog-filter-cancel-button',
ListItem: 'dialog-filter-list-item',
OperationSelect: 'operation-select',
} as const;

export const enum NavigationMinimalPlaceSelectQa {
Connections = 'navigation-minimal-place-connections',
Datasets = 'navigation-minimal-place-datasets',
Expand Down
59 changes: 59 additions & 0 deletions src/shared/constants/qa/datasets.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,57 @@ export enum ParametersQA {
ParametersTabSection = 'parameters-tab-section',
}

export const FiltersQA = {
FiltersTabSection: 'filters-tab-section',
TableDeleteRowBtn: 'filters-table-delete-row-button',
} as const;

export const RelationsMapQA = {
RelationsMap: 'ds-relations-map',
} as const;

export enum DatasetFieldsTabQa {
DatasetEditor = 'ds-editor',
TableRow = 'dataset-fields-table-row',
FieldNameColumnInput = 'dataset-fields-name-column-input',
FieldIndexColumnCheckbox = 'dataset-fields-index-column-checkbox',
FieldIndexHeaderColumnCheckbox = 'dataset-fields-index-header-column-checkbox',
FieldIdColumnInput = 'dataset-fields-id-column-input',
FieldDescriptionColumnInput = 'dataset-fields-description-column-input',
FieldSourceColumnBtn = 'dataset-fields-source-column-btn',
FieldSettingsColumnIcon = 'dataset-fields-settings-column-icon',
FieldVisibleColumnIcon = 'dataset-fields-visible-column-icon',
FieldTypeColumnBtn = 'dataset-fields-type-column-btn',
FieldAggregationColumnBtn = 'dataset-fields-aggregation-column-btn',
FieldTypeColumnItem = 'dataset-fields-type-column-item',
FieldContextMenuBtn = 'dataset-fields-context-menu-btn',
FieldContextMenuPopup = 'dataset-fields-context-menu-popup',
TableSettingsBtn = 'dataset-editor-table-settings-btn',
BatchActionsPanel = 'dataset-editor-actions-panel',
}

export const DatasetFieldTabBatchPanelQa = {
BatchDelete: 'ds-fields-batch-delete',
BatchHide: 'ds-fields-batch-hide',
BatchShow: 'ds-fields-batch-show',
BatchType: 'ds-fields-batch-type',
BatchAggregation: 'ds-fields-batch-aggregation',
} as const;

export const DatasetFieldContextMenuItemsQA = {
DUPLICATE: 'ds-field-context-menu-duplicate',
EDIT: 'ds-field-context-menu-edit',
RLS: 'ds-field-context-menu-rls',
COPY_GUID: 'ds-field-context-menu-copy-guid',
REMOVE: 'ds-field-context-menu-remove',
INSPECT: 'ds-field-context-menu-inspect',
} as const;

export const DatasetEditorTableSettingsItems = {
ShowHidden: 'ds-table-settings-menu-show-hidden',
ShowId: 'ds-table-settings-menu-show-id',
} as const;

export enum DatasetFieldSettingsDialogQa {
Dialog = 'dataset-field-settings-dialog',
ColorSettingsButton = 'dataset-field-settings-dialog-color-settings-btn',
Expand Down Expand Up @@ -58,6 +103,8 @@ export enum DatasetSourcesLeftPanelQA {

export enum DatasetActionQA {
CreateButton = 'dataset-create-button',
SettingsButton = 'dataset-settings-button',
SettingsShowPreviewByDefault = 'dataset-settings-show-preview-item',
}

export const enum DatasetDialogRelationQA {
Expand All @@ -79,8 +126,20 @@ export const DatasetSourcesTableQa = {
SourceContextMenuBtn: 'ds-source-context-menu-btn',
SourceContextMenuDelete: 'ds-source-context-menu-delete',
SourceContextMenuModify: 'ds-source-context-menu-modify',
SourcesAddItemBtn: 'ds-source-add-item-button',
} as const;

export enum DatasetPreviewQA {
Preview = 'dataset-preview',
RowCountInput = 'ds-preview-header-row-count-input',
ClosePreviewBtn = 'ds-preview-header-close-btn',
}

export const DatasetSourceEditorDialogQA = {
Dialog: 'source-editor-dialog',
EditTitleInput: 'source-editor-title',
EditPathInput: 'source-editor-path',
SourceEditorSwitch: 'datasets-source-switcher',
ApplyBtn: 'source-editor-apply',
CancelBtn: 'source-editor-cancel',
} as const;
4 changes: 4 additions & 0 deletions src/shared/constants/qa/edit-history.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
export const EditHistoryQA = {
UndoBtn: 'edit-history-undo-btn',
RedoBtn: 'edit-history-redo-btn',
};
1 change: 1 addition & 0 deletions src/shared/constants/qa/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,4 @@ export * from './uikit';
export * from './wizard';
export * from './workbooks';
export * from './shared-entries';
export * from './edit-history';
4 changes: 2 additions & 2 deletions src/ui/components/DatasetFieldList/DatasetFieldList.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import block from 'bem-cn-lite';

import {I18n} from '../../../i18n';
import type {DatasetField} from '../../../shared';
import {DatasetFieldType, isParameter} from '../../../shared';
import {DatasetFieldType, DialogFilterQA, isParameter} from '../../../shared';
import DataTypeIcon from '../DataTypeIcon/DataTypeIcon';

import './DatasetFieldList.scss';
Expand All @@ -30,7 +30,7 @@ const DatasetFieldList: React.FC<DatasetFieldListProps> = (props) => {
const fieldType = isParameter(field) ? DatasetFieldType.Parameter : type;

return (
<div className={b('field')}>
<div className={b('field')} data-qa={DialogFilterQA.ListItem}>
<DataTypeIcon
className={b('field-icon')}
fieldType={fieldType}
Expand Down
8 changes: 7 additions & 1 deletion src/ui/components/DialogFilter/DialogFilter.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import type {
WorkbookId,
} from 'shared';
import {
DialogFilterQA,
Operations,
TIMEOUT_90_SEC,
getFieldsApiV2RequestSection,
Expand Down Expand Up @@ -211,6 +212,7 @@ class DialogFilter extends React.Component<DialogFilterProps, DialogFilterState>
}
this.onApply();
}}
qa={DialogFilterQA.Dialog}
>
<div className={b()}>
{this.renderHeader()}
Expand Down Expand Up @@ -321,7 +323,7 @@ class DialogFilter extends React.Component<DialogFilterProps, DialogFilterState>
value={value}
options={options}
onUpdate={this.onChangeOperation}
qa="operation-select"
qa={DialogFilterQA.OperationSelect}
/>
</div>
</div>
Expand Down Expand Up @@ -404,8 +406,12 @@ class DialogFilter extends React.Component<DialogFilterProps, DialogFilterState>
onClickButtonApply={onClickButtonApply}
textButtonApply={textButtonApply}
textButtonCancel={i18n('button_cancel')}
propsButtonCancel={{
qa: DialogFilterQA.CancelButton,
}}
propsButtonApply={{
disabled: this.isApplyButtonDisabled(),
qa: DialogFilterQA.ApplyButton,
}}
>
{useSuggest && dimensions.length === VALUES_LOAD_LIMIT && (
Expand Down
8 changes: 7 additions & 1 deletion src/ui/components/FieldEditor/components/NameHeader.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import React from 'react';
import {Pencil} from '@gravity-ui/icons';
import {Button, Flex, Icon, Text} from '@gravity-ui/uikit';
import block from 'bem-cn-lite';
import {DialogFieldEditorQA} from 'shared';

const b = block('dl-field-editor');

Expand All @@ -17,7 +18,12 @@ export const NameHeader = ({title, onStartEdit}: NameFieldProps) => {
<Text variant="subheader-3" ellipsis={true}>
{title}
</Text>
<Button view="flat" onClick={onStartEdit} className={b('settings-field-name-icon')}>
<Button
qa={DialogFieldEditorQA.EditNameButton}
view="flat"
onClick={onStartEdit}
className={b('settings-field-name-icon')}
>
<Icon data={Pencil} size={16} />
</Button>
</Flex>
Expand Down
3 changes: 3 additions & 0 deletions src/ui/hooks/useEditHistoryActions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import React from 'react';
import {ArrowUturnCcwLeft, ArrowUturnCwRight} from '@gravity-ui/icons';
import {I18n} from 'i18n';
import {useDispatch, useSelector} from 'react-redux';
import {EditHistoryQA} from 'shared';
import type {AdditionalButtonTemplate} from 'ui/components/ActionPanel/components/ChartSaveControls/types';
import {useAdditionalItems} from 'ui/components/ActionPanel/components/ChartSaveControls/useAdditionalItems';
import {REDO_HOTKEY, UNDO_HOTKEY} from 'ui/constants/misc';
Expand Down Expand Up @@ -70,6 +71,7 @@ export function useEditHistoryActions(options: UseEditHistoryActionsOptions) {
disabled: !canGoBack,
title: i18n('button_undo'),
hotkey: UNDO_HOTKEY.join('+'),
qa: EditHistoryQA.UndoBtn,
},
{
key: 'redo',
Expand All @@ -79,6 +81,7 @@ export function useEditHistoryActions(options: UseEditHistoryActionsOptions) {
disabled: !canGoForward,
title: i18n('button_redo'),
hotkey: REDO_HOTKEY.join('+'),
qa: EditHistoryQA.RedoBtn,
},
];
}, [canGoBack, canGoForward, handleGoBack, handleGoForward, iconSize]);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import React from 'react';
import type {Column} from '@gravity-ui/react-data-table';
import block from 'bem-cn-lite';
import {I18n} from 'i18n';
import type {DatasetField} from 'shared';
import {type DatasetField, DatasetFieldsTabQa} from 'shared';

import {TableTextInput} from '../components';
import type {ColumnItem} from '../types';
Expand Down Expand Up @@ -41,6 +41,7 @@ export const getDescriptionColumn = (args: GetDescriptionColumnArgs) => {
index={index}
setActiveRow={setActiveRow}
onUpdate={getUpdateHandler(row)}
qa={DatasetFieldsTabQa.FieldDescriptionColumnInput}
disabled={readonly}
/>
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import {Button, Icon} from '@gravity-ui/uikit';
import block from 'bem-cn-lite';
import {I18n} from 'i18n';
import type {DatasetField} from 'shared';
import {DatasetFieldsTabQa} from 'shared';

import {isHiddenSupported} from '../utils';

Expand Down Expand Up @@ -39,6 +40,7 @@ export const getHiddenColumn = ({
title={value ? i18n('button_display-field') : i18n('button_hide-field')}
disabled={unsupported || readonly}
onClick={() => onUpdate(row)}
qa={DatasetFieldsTabQa.FieldVisibleColumnIcon}
>
<Icon
className={b('hidden', {hidden: Boolean(value && !unsupported), unsupported})}
Expand Down
2 changes: 2 additions & 0 deletions src/ui/units/datasets/components/DatasetTable/columns/Id.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import type {Column} from '@gravity-ui/react-data-table';
import block from 'bem-cn-lite';
import {I18n} from 'i18n';
import type {DatasetField} from 'shared';
import {DatasetFieldsTabQa} from 'shared';

import {TableTextInput} from '../components';
import type {ColumnItem} from '../types';
Expand Down Expand Up @@ -44,6 +45,7 @@ export const getIdColumn = (args: GetIdColumnArgs) => {
setActiveRow={setActiveRow}
onUpdate={getUpdateHandler(row)}
disabled={readonly}
qa={DatasetFieldsTabQa.FieldIdColumnInput}
/>
);
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import DataTable from '@gravity-ui/react-data-table';
import {Checkbox} from '@gravity-ui/uikit';
import block from 'bem-cn-lite';
import type {DatasetField, DatasetSelectionMap} from 'shared';
import {DatasetFieldsTabQa} from 'shared';

const b = block('dataset-table');

Expand Down Expand Up @@ -40,6 +41,7 @@ export const getIndexColumn = ({
indeterminate={indeterminate}
onUpdate={onSelectAllChange}
disabled={readonly}
qa={DatasetFieldsTabQa.FieldIndexHeaderColumnCheckbox}
/>
),
render: function IndexColumnItem({index, row}) {
Expand All @@ -66,6 +68,7 @@ export const getIndexColumn = ({
size={'l'}
disabled={readonly}
onChange={handleCheckboxChange}
qa={DatasetFieldsTabQa.FieldIndexColumnCheckbox}
/>
<div className={b('title-index')}>{index + 1}</div>
</React.Fragment>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import DataTable from '@gravity-ui/react-data-table';
import {Button, Icon} from '@gravity-ui/uikit';
import block from 'bem-cn-lite';
import {I18n} from 'i18n';
import type {DatasetField, DatasetSourceAvatar} from 'shared';
import {type DatasetField, DatasetFieldsTabQa, type DatasetSourceAvatar} from 'shared';

import {FORMULA_CALC_MODE} from '../constants';
import {getFieldSourceTitle, sortSourceColumn} from '../utils';
Expand Down Expand Up @@ -48,6 +48,7 @@ export const getSourceColumn = (args: GetSourceColumnArgs): Column<DatasetField>
width="max"
disabled={readonly}
onClick={() => openDialogFieldEditor(row)}
qa={DatasetFieldsTabQa.FieldSourceColumnBtn}
>
{isFormulaField ? (
<Icon className={b('formula')} data={Function} size={20} />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import type {SelectOption, SelectRenderControlProps} from '@gravity-ui/uikit';
import block from 'bem-cn-lite';
import {connect} from 'react-redux';
import type {DatasetField, DatasetFieldAggregation} from 'shared';
import {DatasetFieldsTabQa} from 'shared';
import type {DatalensGlobalState} from 'ui';

import {getDatasetLabelValue, getSelectedValueForSelect} from '../../../../../../utils/helpers';
Expand Down Expand Up @@ -137,6 +138,7 @@ class AggregationSelectComponent extends React.Component<Props> {
ref={ref as React.Ref<HTMLButtonElement>}
view="flat"
className={b('select-control', {[this.type]: true})}
qa={DatasetFieldsTabQa.FieldAggregationColumnBtn}
>
<span className={b('selected-value')}>
{getDatasetLabelValue(aggregationTitle)}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import {Eye, EyeSlash, Pencil, TrashBin} from '@gravity-ui/icons';
import type {ActionsPanelProps} from '@gravity-ui/uikit';
import {ActionsPanel, Icon} from '@gravity-ui/uikit';
import {I18n} from 'i18n';
import {DatasetFieldTabBatchPanelQa, DatasetFieldsTabQa} from 'shared';

import {BatchFieldAction} from '../../constants';

Expand Down Expand Up @@ -34,6 +35,7 @@ export const BatchActionPanel = ({
<Icon key="icon" data={TrashBin} size="16" />,
i18n('button_batch-remove'),
],
qa: DatasetFieldTabBatchPanelQa.BatchDelete,
onClick: () => onAction(BatchFieldAction.Remove),
},
},
Expand All @@ -55,6 +57,7 @@ export const BatchActionPanel = ({
<Icon key="icon" data={EyeSlash} size="16" />,
i18n('button_batch-hide'),
],
qa: DatasetFieldTabBatchPanelQa.BatchHide,
onClick: () => onAction(BatchFieldAction.Hide),
},
},
Expand All @@ -76,6 +79,7 @@ export const BatchActionPanel = ({
<Icon key="icon" data={Eye} size="16" />,
i18n('button_batch-show'),
],
qa: DatasetFieldTabBatchPanelQa.BatchShow,
onClick: () => onAction(BatchFieldAction.Show),
},
},
Expand All @@ -97,6 +101,7 @@ export const BatchActionPanel = ({
<Icon key="icon" data={Pencil} size="16" />,
i18n('button_batch-type'),
],
qa: DatasetFieldTabBatchPanelQa.BatchType,
onClick: () => onAction(BatchFieldAction.Type),
},
},
Expand All @@ -118,6 +123,7 @@ export const BatchActionPanel = ({
<Icon key="icon" data={Pencil} size="16" />,
i18n('button_batch-aggregation'),
],
qa: DatasetFieldTabBatchPanelQa.BatchAggregation,
onClick: () => onAction(BatchFieldAction.Aggregation),
},
},
Expand All @@ -139,6 +145,7 @@ export const BatchActionPanel = ({
className={className}
onClose={onClose}
renderNote={() => i18n('label_batch-selected-fields-count', {value: count})}
qa={DatasetFieldsTabQa.BatchActionsPanel}
/>
);
};
Loading
Loading