55 lines
2.0 KiB
TypeScript
55 lines
2.0 KiB
TypeScript
import {Page} from '@playwright/test';
|
|
|
|
import DashboardPage from '../../../page-objects/dashboard/DashboardPage';
|
|
import {getControlByTitle} from '../../../utils';
|
|
import datalensTest from '../../../utils/playwright/globalTestDefinition';
|
|
|
|
const PARAMS = {
|
|
DASH_NAME_PREFIX: 'e2e-test-dash',
|
|
CONTROL_TITLE: 'test-control',
|
|
CONTROL_FIELD_NAME: 'test-control-field',
|
|
CONTROL_ITEMS: ['91000', '98800'],
|
|
CONTROL_ITEM_PREFIX: 'Value',
|
|
CHART_NAME: 'csv-based-dataset — Pie chart',
|
|
CHART_URL: '/wizard/9ez4zmky3tccy',
|
|
CHART_FIELD: 'Population String',
|
|
};
|
|
const CONTROL_ITEM_COUNT = 3;
|
|
|
|
datalensTest.describe('Dashboards - Basic functionality', () => {
|
|
datalensTest(
|
|
'Adding a chart and selector with manual input of values and default value',
|
|
async ({page}: {page: Page}) => {
|
|
const dashboardPage = new DashboardPage({page});
|
|
|
|
// filling in the values for the selector
|
|
const items: string[] = [];
|
|
for (let i = 0; i < CONTROL_ITEM_COUNT; i++) {
|
|
items.push(`${PARAMS.CONTROL_ITEM_PREFIX}-${i + 1}`);
|
|
}
|
|
const controlDefaultValue = items[items.length - 1];
|
|
|
|
// creating a new dashboard
|
|
await dashboardPage.createDashboard({
|
|
editDash: async () => {
|
|
// adding a selector with a default value
|
|
await dashboardPage.controlActions.addSelector({
|
|
appearance: {title: PARAMS.CONTROL_TITLE},
|
|
fieldName: PARAMS.CONTROL_FIELD_NAME,
|
|
items,
|
|
defaultValue: controlDefaultValue,
|
|
});
|
|
},
|
|
});
|
|
|
|
// get the control by name
|
|
const control = await getControlByTitle(page, PARAMS.CONTROL_TITLE);
|
|
|
|
// check that the default value is set correctly
|
|
await control.waitForSelector(`span >> text=${controlDefaultValue}`);
|
|
|
|
await dashboardPage.deleteDashFromViewMode();
|
|
},
|
|
);
|
|
});
|