datalens-ui/tests/suites/dash/selectors/editorSelectorChange.test.ts
2026-06-24 20:31:05 +05:00

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);
},
);
});