97 lines
3.7 KiB
TypeScript
97 lines
3.7 KiB
TypeScript
import {expect} from '@playwright/test';
|
|
|
|
import datalensTest from '../../../utils/playwright/globalTestDefinition';
|
|
import {openTestPage, slct, waitForCondition} from '../../../utils';
|
|
import {WizardPageQa, WizardVisualizationId} from '../../../../src/shared';
|
|
import WizardPage from '../../../page-objects/wizard/WizardPage';
|
|
import {PlaceholderName} from '../../../page-objects/wizard/SectionVisualization';
|
|
import {COMMON_CHARTKIT_SELECTORS} from '../../../page-objects/constants/chartkit';
|
|
|
|
datalensTest.describe('Wizard', () => {
|
|
datalensTest.describe('Edit history', () => {
|
|
datalensTest.beforeEach(async ({page, config}) => {
|
|
const wizardPage = new WizardPage({page});
|
|
await openTestPage(page, config.wizard.urls.WizardBasicDataset);
|
|
|
|
await wizardPage.setVisualization(WizardVisualizationId.Pie);
|
|
|
|
await wizardPage.sectionVisualization.addFieldByClick(
|
|
PlaceholderName.Colors,
|
|
'Category',
|
|
);
|
|
|
|
await wizardPage.sectionVisualization.addFieldByClick(
|
|
PlaceholderName.Measures,
|
|
'Sales',
|
|
);
|
|
});
|
|
|
|
datalensTest('Make some changes, then undo them', async ({page}) => {
|
|
const wizardPage = new WizardPage({page});
|
|
const chartContainer = page.locator(slct(WizardPageQa.SectionPreview));
|
|
const chart = chartContainer.locator('.chartkit-graph,.gcharts-chart');
|
|
|
|
await expect(chart).toBeVisible();
|
|
|
|
await waitForCondition(async () => {
|
|
const elems = await page.$$(`${COMMON_CHARTKIT_SELECTORS.chartLegendItem}`);
|
|
return elems.length === 3;
|
|
});
|
|
|
|
await wizardPage.sectionVisualization.removeFieldByClick(
|
|
PlaceholderName.Colors,
|
|
'Category',
|
|
);
|
|
|
|
await waitForCondition(async () => {
|
|
const elems = await page.$$(`${COMMON_CHARTKIT_SELECTORS.chartLegendItem}`);
|
|
return elems.length === 1;
|
|
});
|
|
|
|
await wizardPage.clickUndo();
|
|
|
|
await waitForCondition(async () => {
|
|
const elems = await page.$$(`${COMMON_CHARTKIT_SELECTORS.chartLegendItem}`);
|
|
return elems.length === 3;
|
|
});
|
|
});
|
|
|
|
datalensTest('Make some changes, then undo them, then redo them', async ({page}) => {
|
|
const wizardPage = new WizardPage({page});
|
|
const chartContainer = page.locator(slct(WizardPageQa.SectionPreview));
|
|
const chart = chartContainer.locator('.chartkit-graph,.gcharts-chart');
|
|
|
|
await expect(chart).toBeVisible();
|
|
|
|
await waitForCondition(async () => {
|
|
const elems = await page.$$(`${COMMON_CHARTKIT_SELECTORS.chartLegendItem}`);
|
|
return elems.length === 3;
|
|
});
|
|
|
|
await wizardPage.sectionVisualization.removeFieldByClick(
|
|
PlaceholderName.Colors,
|
|
'Category',
|
|
);
|
|
|
|
await waitForCondition(async () => {
|
|
const elems = await page.$$(`${COMMON_CHARTKIT_SELECTORS.chartLegendItem}`);
|
|
return elems.length === 1;
|
|
});
|
|
|
|
await wizardPage.clickUndo();
|
|
|
|
await waitForCondition(async () => {
|
|
const elems = await page.$$(`${COMMON_CHARTKIT_SELECTORS.chartLegendItem}`);
|
|
return elems.length === 3;
|
|
});
|
|
|
|
await wizardPage.clickRedo();
|
|
|
|
await waitForCondition(async () => {
|
|
const elems = await page.$$(`${COMMON_CHARTKIT_SELECTORS.chartLegendItem}`);
|
|
return elems.length === 1;
|
|
});
|
|
});
|
|
});
|
|
});
|