101 lines
4.3 KiB
TypeScript
101 lines
4.3 KiB
TypeScript
import {expect} from '@playwright/test';
|
|
|
|
import datalensTest from '../../../../utils/playwright/globalTestDefinition';
|
|
import {openTestPage, slct} from '../../../../utils';
|
|
import {ChartKitQa, WizardPageQa, WizardVisualizationId} from '../../../../../src/shared';
|
|
import WizardPage from '../../../../page-objects/wizard/WizardPage';
|
|
import {PlaceholderName} from '../../../../page-objects/wizard/SectionVisualization';
|
|
|
|
datalensTest.describe('Wizard', () => {
|
|
datalensTest.describe('Pie chart', () => {
|
|
datalensTest.beforeEach(async ({page, config}) => {
|
|
const wizardPage = new WizardPage({page});
|
|
await openTestPage(page, config.wizard.urls.WizardBasicDataset);
|
|
|
|
// Create measure field
|
|
const measureField = 'OrdersCount';
|
|
await wizardPage.createNewFieldWithFormula(measureField, 'count([order_id])');
|
|
|
|
await wizardPage.setVisualization(WizardVisualizationId.Pie);
|
|
});
|
|
|
|
datalensTest('Auto coloring @screenshot', async ({page}) => {
|
|
const wizardPage = new WizardPage({page});
|
|
const chartContainer = page.locator(slct(WizardPageQa.SectionPreview));
|
|
const chart = chartContainer.locator('.chartkit-graph,.gcharts-chart');
|
|
const previewLoader = chartContainer.locator(slct(ChartKitQa.Loader));
|
|
|
|
// 1. Only Measures placeholder is filled
|
|
await wizardPage.sectionVisualization.addFieldByClick(
|
|
PlaceholderName.Measures,
|
|
'Sales',
|
|
);
|
|
await expect(
|
|
page.locator(slct(PlaceholderName.Measures)).locator(slct('Sales')),
|
|
).toBeVisible();
|
|
await expect(previewLoader).not.toBeVisible();
|
|
await expect(chart).toHaveScreenshot();
|
|
|
|
// 2. Measure field in Colors placeholder
|
|
await wizardPage.sectionVisualization.addFieldByClick(
|
|
PlaceholderName.Colors,
|
|
'OrdersCount',
|
|
);
|
|
await expect(
|
|
page.locator(slct(PlaceholderName.Colors)).locator(slct('OrdersCount')),
|
|
).toBeVisible();
|
|
await expect(previewLoader).not.toBeVisible();
|
|
await expect(chart).toHaveScreenshot();
|
|
|
|
// 3. Dimension field in Colors placeholder
|
|
await wizardPage.sectionVisualization.removeFieldByClick(
|
|
PlaceholderName.Colors,
|
|
'OrdersCount',
|
|
);
|
|
await wizardPage.sectionVisualization.addFieldByClick(
|
|
PlaceholderName.Colors,
|
|
'Category',
|
|
);
|
|
await expect(
|
|
page.locator(slct(PlaceholderName.Colors)).locator(slct('Category')),
|
|
).toBeVisible();
|
|
await expect(previewLoader).not.toBeVisible();
|
|
await expect(chart).toHaveScreenshot();
|
|
|
|
// 4. Dimension fields in Colors and Dimensions placeholder
|
|
await wizardPage.sectionVisualization.addFieldByClick(
|
|
PlaceholderName.Dimensions,
|
|
'region',
|
|
);
|
|
await expect(
|
|
page.locator(slct(PlaceholderName.Dimensions)).locator(slct('region')),
|
|
).toBeVisible();
|
|
await expect(previewLoader).not.toBeVisible();
|
|
await expect(chart).toHaveScreenshot();
|
|
|
|
// 5. Measure field in Colors + filled Dimensions placeholder
|
|
await wizardPage.sectionVisualization.removeFieldByClick(
|
|
PlaceholderName.Colors,
|
|
'Category',
|
|
);
|
|
await wizardPage.sectionVisualization.addFieldByClick(
|
|
PlaceholderName.Colors,
|
|
'OrdersCount',
|
|
);
|
|
await expect(
|
|
page.locator(slct(PlaceholderName.Colors)).locator(slct('OrdersCount')),
|
|
).toBeVisible();
|
|
await expect(previewLoader).not.toBeVisible();
|
|
await expect(chart).toHaveScreenshot();
|
|
|
|
// 6. Empty Colors placeholder + filled Dimensions placeholder
|
|
await wizardPage.sectionVisualization.removeFieldByClick(
|
|
PlaceholderName.Colors,
|
|
'OrdersCount',
|
|
);
|
|
await expect(previewLoader).not.toBeVisible();
|
|
await expect(chart).toHaveScreenshot();
|
|
});
|
|
});
|
|
});
|