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

153 lines
5.3 KiB
TypeScript

import {Page} from '@playwright/test';
import {RobotChartsDashboardUrls} from '../../../utils/constants';
import datalensTest from '../../../utils/playwright/globalTestDefinition';
import {waitForTableRowsToEqual} from '../helpers';
import {openTestPage} from '../../../utils';
const TABS = {
noDefaults: 'wa',
};
const TEXTS = {
param1: 'manual_1',
param2: 'manual_2',
};
const VALS = {
val1: '1',
val2: '2',
val3: '3',
val4: '4',
empty: '',
val11: '11',
val22: '22',
};
datalensTest.describe('Dashboards - Parameters on the dashboard', () => {
datalensTest(
'Charts with defaults and without global parameters',
async ({page}: {page: Page}) => {
await openTestPage(page, RobotChartsDashboardUrls.DashboardWithChartDefaultParams);
await waitForTableRowsToEqual(page, [TEXTS.param1, VALS.val3, TEXTS.param2, VALS.val4]);
},
);
datalensTest(
'Charts without defaults and without global parameters',
async ({page}: {page: Page}) => {
await openTestPage(
page,
`${RobotChartsDashboardUrls.DashboardWithChartDefaultParams}?tab=${TABS.noDefaults}`,
);
await waitForTableRowsToEqual(page, [
TEXTS.param1,
VALS.val11,
TEXTS.param2,
VALS.val22,
]);
},
);
datalensTest(
'Selectors with defaults, chart with empty defaults and with empty default global parameters',
async ({page}: {page: Page}) => {
await openTestPage(
page,
RobotChartsDashboardUrls.DashboardWithEmptyGlobalDefaultParams,
);
await waitForTableRowsToEqual(page, [
TEXTS.param1,
VALS.empty,
TEXTS.param2,
VALS.val1,
]);
},
);
datalensTest(
'Url parameters, selectors with defaults, chart with empty defaults and with empty default global parameters',
async ({page}: {page: Page}) => {
await openTestPage(
page,
`${RobotChartsDashboardUrls.DashboardWithEmptyGlobalDefaultParams}?${TEXTS.param1}=${VALS.val3}&${TEXTS.param2}=${VALS.val4}`,
);
await waitForTableRowsToEqual(page, [TEXTS.param1, VALS.val3, TEXTS.param2, VALS.val4]);
},
);
datalensTest(
'Chart with non-empty defaults and with empty default global parameters',
async ({page}: {page: Page}) => {
await openTestPage(
page,
`${RobotChartsDashboardUrls.DashboardWithEmptyGlobalDefaultParams}?tab=${TABS.noDefaults}`,
);
await waitForTableRowsToEqual(page, [
TEXTS.param1,
VALS.empty,
TEXTS.param2,
VALS.empty,
]);
},
);
datalensTest(
'Url parameters, chart with non-empty defaults and with empty default global parameters',
async ({page}: {page: Page}) => {
await openTestPage(
page,
`${RobotChartsDashboardUrls.DashboardWithEmptyGlobalDefaultParams}?tab=${TABS.noDefaults}&${TEXTS.param1}=${VALS.val3}&${TEXTS.param2}=${VALS.val4}`,
);
await waitForTableRowsToEqual(page, [TEXTS.param1, VALS.val3, TEXTS.param2, VALS.val4]);
},
);
datalensTest(
'Selectors with defaults, chart with empty defaults and with non-empty default global parameters',
async ({page}: {page: Page}) => {
await openTestPage(page, RobotChartsDashboardUrls.DashboardWithGlobalDefaultParams);
await waitForTableRowsToEqual(page, [
TEXTS.param1,
VALS.empty,
TEXTS.param2,
VALS.val1,
]);
},
);
datalensTest(
'Url parameters, selectors with defaults, chart with empty defaults and with non-empty default global parameters',
async ({page}: {page: Page}) => {
await openTestPage(
page,
`${RobotChartsDashboardUrls.DashboardWithGlobalDefaultParams}?${TEXTS.param1}=${VALS.val3}&${TEXTS.param2}=${VALS.val4}`,
);
await waitForTableRowsToEqual(page, [TEXTS.param1, VALS.val3, TEXTS.param2, VALS.val4]);
},
);
datalensTest(
'Chart with non-empty defaults and non-empty default global parameters',
async ({page}: {page: Page}) => {
await openTestPage(
page,
`${RobotChartsDashboardUrls.DashboardWithGlobalDefaultParams}?tab=${TABS.noDefaults}`,
);
await waitForTableRowsToEqual(page, [TEXTS.param1, VALS.val2, TEXTS.param2, VALS.val2]);
},
);
datalensTest(
'Url parameters, chart with non-empty defaults and non-empty default global parameters',
async ({page}: {page: Page}) => {
await openTestPage(
page,
`${RobotChartsDashboardUrls.DashboardWithGlobalDefaultParams}?tab=${TABS.noDefaults}&${TEXTS.param1}=${VALS.val3}&${TEXTS.param2}=${VALS.val4}`,
);
await waitForTableRowsToEqual(page, [TEXTS.param1, VALS.val3, TEXTS.param2, VALS.val4]);
},
);
});