52 lines
2.2 KiB
TypeScript
52 lines
2.2 KiB
TypeScript
import {Page} from '@playwright/test';
|
|
import {ControlQA} from '../../../../src/shared/constants';
|
|
|
|
import DashboardPage from '../../../page-objects/dashboard/DashboardPage';
|
|
import {clickSelectOption, openTestPage, slct} from '../../../utils';
|
|
import {RobotChartsDashboardUrls} from '../../../utils/constants';
|
|
import datalensTest from '../../../utils/playwright/globalTestDefinition';
|
|
|
|
const SELECTORS = {
|
|
TABLE_CELL: 'chartkit-table__content_value',
|
|
CONTROL_INPUT: 'g-text-input__control',
|
|
};
|
|
|
|
const PARAMS = {
|
|
SELECT_VALUE_1: 'TempValue',
|
|
};
|
|
|
|
datalensTest.describe('Dashboards - an editor selector', () => {
|
|
datalensTest(
|
|
'In the chart, a change in the selector parameters is applied',
|
|
async ({page}: {page: Page}) => {
|
|
const dashboardPage = new DashboardPage({page});
|
|
await openTestPage(page, RobotChartsDashboardUrls.DashboardWithEditorSelectorAndChart);
|
|
|
|
// checking that input and select labels exist
|
|
await dashboardPage.waitForSelector(slct(ControlQA.controlSelect));
|
|
await dashboardPage.waitForSelector(slct(ControlQA.controlInput));
|
|
|
|
// Initialize subscription to requests during default timeout
|
|
const promise = dashboardPage.waitForResponses('/api/run');
|
|
|
|
// changing the value in the external selector
|
|
await clickSelectOption(page, ControlQA.controlSelect, PARAMS.SELECT_VALUE_1);
|
|
|
|
// Getting an array of requests /api/run
|
|
const responses = await promise;
|
|
|
|
// Check that it took exactly two requests /api/run
|
|
expect(responses).toHaveLength(2);
|
|
|
|
// check that after changing the value of the external selector, the value in the control of the table has changed
|
|
const inputText = await page.locator(`.${SELECTORS.CONTROL_INPUT}`).inputValue();
|
|
expect(inputText).toEqual(PARAMS.SELECT_VALUE_1);
|
|
|
|
// check that after changing the value of the external selector, the value in the table cell has changed
|
|
const cell = await page.$(`.${SELECTORS.TABLE_CELL}`);
|
|
const tableCellText = await cell?.innerText();
|
|
expect(tableCellText).toEqual(PARAMS.SELECT_VALUE_1);
|
|
},
|
|
);
|
|
});
|