2026-06-24 21:10:34 +05:00

89 lines
3.2 KiB
TypeScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import {Page} from '@playwright/test';
import {WizardVisualizationId} from '../../../page-objects/common/Visualization';
import {PlaceholderName} from '../../../page-objects/wizard/SectionVisualization';
import WizardPage from '../../../page-objects/wizard/WizardPage';
import {openTestPage, slct, waitForCondition} from '../../../utils';
import {RobotChartsWizardUrls} from '../../../utils/constants';
import datalensTest from '../../../utils/playwright/globalTestDefinition';
import {ActionPanelQA, DlNavigationQA} from '../../../../src/shared/constants';
const PARAMS = {
FOLDER_NAME: 'E2E_NAVIGATION_TEST',
};
datalensTest.describe('Wizard - Navigation', () => {
datalensTest(
'When you click on a bread crumb, navigation in the corresponding directory should open',
async ({page}: {page: Page}) => {
await openTestPage(page, RobotChartsWizardUrls.NewChartWithCurrentPath);
await page.locator(slct(ActionPanelQA.EntryBreadcrumbs)).getByText('yagr').click();
const breadcrumbs = page
.locator(slct(DlNavigationQA.NavigationBreadcrumbs))
.getByRole('link');
await expect(breadcrumbs).toHaveText(['Все объекты', 'Users', 'robot-charts', 'yagr'], {
useInnerText: true,
});
},
);
datalensTest(
'When you try to create a chart, you will be prompted to create it along the path specified in currentPath',
async ({page}: {page: Page}) => {
const expectedPath = 'yagr';
const wizardPage = new WizardPage({page});
await openTestPage(page, RobotChartsWizardUrls.WizardForCsvBasedDatasetWithCurrentPath);
await wizardPage.setVisualization(WizardVisualizationId.FlatTable);
await wizardPage.sectionVisualization.addFieldByClick(
PlaceholderName.FlatTableColumns,
'City',
);
let text: string;
await waitForCondition(async () => {
text = await wizardPage.openSaveDialogAndGetPath();
return text === expectedPath;
}).catch(() => {
expect(text).toEqual(expectedPath);
});
},
);
datalensTest(
'When trying to save a chart with the choice of an arbitrary folder in the navigation, the chart is saved successfully',
async ({page}: {page: Page}) => {
const wizardPage = new WizardPage({page});
await openTestPage(page, RobotChartsWizardUrls.WizardForCsvBasedDataset);
await wizardPage.setVisualization(WizardVisualizationId.FlatTable);
await wizardPage.sectionVisualization.addFieldByClick(
PlaceholderName.FlatTableColumns,
'City',
);
const entryName = 'e2e-test-wizard-chart-navigation';
await wizardPage.saveInFolder(
PARAMS.FOLDER_NAME,
wizardPage.getUniqueEntryName(entryName),
PARAMS.FOLDER_NAME,
);
await wizardPage.waitForSelector(
`${slct(ActionPanelQA.ActionPanel)} >> text=${PARAMS.FOLDER_NAME}`,
);
await wizardPage.deleteEntry();
},
);
});