datalens-ui/tests/suites/dash/connections/ignoreConnection.test.ts
2026-06-24 21:10:34 +05:00

47 lines
2.1 KiB
TypeScript

import {Page} from '@playwright/test';
import {ChartkitMenuDialogsQA, ControlQA} from '../../../../src/shared/constants';
import {COMMON_CHARTKIT_SELECTORS} from '../../../page-objects/constants/chartkit';
import DashboardPage from '../../../page-objects/dashboard/DashboardPage';
import {openTestPage, slct} from '../../../utils';
import {RobotChartsDashboardUrls} from '../../../utils/constants';
import datalensTest from '../../../utils/playwright/globalTestDefinition';
const PARAMS = {
SELECTOR_PARAM_VALUE: '100',
IGNORE_PARAM_CHART_TAB: 'chart2',
};
const chartkitControlInput = `${slct(ControlQA.chartkitControl)} input`;
datalensTest.describe('Dashboards - Links', () => {
datalensTest(
'The influencing parameters of one chart tab do not affect the chart tab with ignoring these parameters',
async ({page}: {page: Page}) => {
const dashboardPage = new DashboardPage({page});
// dashboard with a chart that has the same charts in two tabs
await openTestPage(page, RobotChartsDashboardUrls.DashboardWithChartTabsAndRelation);
// looking for a selector and entering a value that is not on the chart
// note: it works unstable with fill, had to be replaced with type
await page.type(chartkitControlInput, PARAMS.SELECTOR_PARAM_VALUE);
// note: it works unstable with click, had to be replaced with press enter
await page.press(chartkitControlInput, 'Enter');
// checking the missing data error
await page.waitForSelector(slct(ChartkitMenuDialogsQA.chartError));
// switch to another chart tab
const widgetTab = await page.waitForSelector(
slct(ChartkitMenuDialogsQA.widgetTab, PARAMS.IGNORE_PARAM_CHART_TAB),
);
await widgetTab.click();
// check that there is a chart in the chart without the influence of the parameter inside the chart, and not an error
await dashboardPage.waitForSelector(`.${COMMON_CHARTKIT_SELECTORS.chartkit}`);
},
);
});