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

118 lines
5.1 KiB
TypeScript

import {WizardVisualizationId} from '../../../../page-objects/common/Visualization';
import {PlaceholderName} from '../../../../page-objects/wizard/SectionVisualization';
import WizardPage from '../../../../page-objects/wizard/WizardPage';
import datalensTest from '../../../../utils/playwright/globalTestDefinition';
import {openTestPage} from '../../../../utils';
datalensTest.describe('Wizard', () => {
datalensTest.describe('Combined chart', () => {
datalensTest.beforeEach(async ({page, config}) => {
await openTestPage(page, config.wizard.urls.WizardBasicDataset);
const wizardPage = new WizardPage({page});
await wizardPage.createNewFieldWithFormula('sales_sum', 'sum([Sales])');
await wizardPage.createNewFieldWithFormula('orders_count', 'countd([order_id])');
await wizardPage.createNewFieldWithFormula(
'order_year',
'datepart([Order_date], "year")',
);
await wizardPage.openHierarchyEditor();
await wizardPage.hierarchyEditor.selectFields(['region', 'segment']);
await wizardPage.hierarchyEditor.setName('Test Hierarchy');
await wizardPage.hierarchyEditor.clickSave();
await wizardPage.setVisualization(WizardVisualizationId.CombinedChart);
});
datalensTest(
'When the hierarchy changes, it should be updated on all layers',
async ({page}) => {
const wizardPage = new WizardPage({page});
await wizardPage.sectionVisualization.addFieldByClick(
PlaceholderName.X,
'Test Hierarchy',
);
await wizardPage.sectionVisualization.addFieldByClick(
PlaceholderName.Y,
'sales_sum',
);
await wizardPage.sectionVisualization.addLayer();
await wizardPage.sectionVisualization.selectCombinedChartLayerVisualization(
WizardVisualizationId.Area,
);
await wizardPage.sectionVisualization.addFieldByClick(
PlaceholderName.Y,
'orders_count',
);
await wizardPage.hierarchyEditor.openHierarchyInVisualization(
PlaceholderName.X,
'Test Hierarchy',
);
await wizardPage.hierarchyEditor.clearAllSelectedFields();
await wizardPage.hierarchyEditor.selectFields(['ship_mode', 'order_year']);
await wizardPage.hierarchyEditor.clickSave();
await wizardPage.sectionVisualization.switchLayer('geolayer-select-layer-0');
await wizardPage.hierarchyEditor.openHierarchyInVisualization(
PlaceholderName.X,
'Test Hierarchy',
);
const selectedItems = await wizardPage.hierarchyEditor.getSelectedItems();
expect(selectedItems).toEqual(['ship_mode', 'order_year']);
},
);
datalensTest(
'When changing the hierarchy in colors, it should be updated on all layers',
async ({page}) => {
const wizardPage = new WizardPage({page});
await wizardPage.sectionVisualization.addFieldByClick(PlaceholderName.X, 'segment');
await wizardPage.sectionVisualization.addFieldByClick(
PlaceholderName.Y,
'sales_sum',
);
await wizardPage.sectionVisualization.addFieldByClick(
PlaceholderName.Colors,
'Test Hierarchy',
);
await wizardPage.sectionVisualization.addLayer();
await wizardPage.sectionVisualization.selectCombinedChartLayerVisualization(
WizardVisualizationId.Area,
);
await wizardPage.sectionVisualization.addFieldByClick(
PlaceholderName.Y,
'orders_count',
);
await wizardPage.sectionVisualization.addFieldByClick(
PlaceholderName.Colors,
'Test Hierarchy',
);
await wizardPage.hierarchyEditor.openHierarchyInVisualization(
PlaceholderName.Colors,
'Test Hierarchy',
);
await wizardPage.hierarchyEditor.clearAllSelectedFields();
await wizardPage.hierarchyEditor.selectFields(['ship_mode', 'order_year']);
await wizardPage.hierarchyEditor.clickSave();
await wizardPage.sectionVisualization.switchLayer('geolayer-select-layer-0');
await wizardPage.hierarchyEditor.openHierarchyInVisualization(
PlaceholderName.Colors,
'Test Hierarchy',
);
const selectedItems = await wizardPage.hierarchyEditor.getSelectedItems();
expect(selectedItems).toEqual(['ship_mode', 'order_year']);
},
);
});
});