89 lines
3.2 KiB
TypeScript
89 lines
3.2 KiB
TypeScript
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();
|
||
},
|
||
);
|
||
});
|