117 lines
5.0 KiB
TypeScript
117 lines
5.0 KiB
TypeScript
import {expect, Page} from '@playwright/test';
|
|
|
|
import WizardPage from '../../../page-objects/wizard/WizardPage';
|
|
import {RobotChartsWizardUrls} from '../../../utils/constants';
|
|
import datalensTest from '../../../utils/playwright/globalTestDefinition';
|
|
import {PlaceholderName} from '../../../page-objects/wizard/SectionVisualization';
|
|
import {CommonUrls} from '../../../page-objects/constants/common-urls';
|
|
import {openTestPage} from '../../../utils';
|
|
import {
|
|
WizardVisualizationId,
|
|
DialogFieldAggregationSelectorValuesQa,
|
|
} from '../../../../src/shared';
|
|
|
|
datalensTest.describe('Wizard - export. Scatter plot', () => {
|
|
datalensTest.beforeEach(async ({page}) => {
|
|
const wizardPage = new WizardPage({page});
|
|
|
|
await openTestPage(page, RobotChartsWizardUrls.WizardForDatasetSampleCh);
|
|
|
|
await wizardPage.setVisualization(WizardVisualizationId.Scatter);
|
|
|
|
await wizardPage.sectionVisualization.addFieldByClick(PlaceholderName.X, 'Profit');
|
|
await wizardPage.sectionVisualization.addFieldByClick(PlaceholderName.Y, 'Sales');
|
|
|
|
let apiRunRequest = wizardPage.page.waitForRequest(
|
|
(request) => new URL(request.url()).pathname === CommonUrls.ApiRun,
|
|
);
|
|
await wizardPage.sectionVisualization.addFieldByClick(PlaceholderName.Points, 'Region');
|
|
await (await apiRunRequest).response();
|
|
|
|
apiRunRequest = wizardPage.page.waitForRequest(
|
|
(request) => new URL(request.url()).pathname === CommonUrls.ApiRun,
|
|
);
|
|
await wizardPage.sectionVisualization.addFieldByClick(PlaceholderName.Filters, 'Year');
|
|
await wizardPage.filterEditor.selectValues(['2016', '2017']);
|
|
await wizardPage.filterEditor.apply();
|
|
await (await apiRunRequest).response();
|
|
|
|
await wizardPage.page.context().grantPermissions(['clipboard-write', 'clipboard-read']);
|
|
});
|
|
|
|
datalensTest('Points only. Markdown', async ({page}: {page: Page}) => {
|
|
const wizardPage = new WizardPage({page});
|
|
|
|
const clipboardData = await wizardPage.chartkit.exportMarkdown();
|
|
const expected = `|Profit|Sales|Region|
|
|
|:-|:-:|-:|
|
|
|52634|393775.10127949715|East|
|
|
|67035|437618.3998544216|West|
|
|
|26153|216520.79994261265|South|
|
|
|26831|294532.10064288974|Central|`;
|
|
|
|
await expect(clipboardData).toEqual(expected);
|
|
});
|
|
|
|
datalensTest('Points size. Markdown', async ({page}: {page: Page}) => {
|
|
const wizardPage = new WizardPage({page});
|
|
|
|
await wizardPage.sectionVisualization.addFieldByClick(PlaceholderName.Size, 'Year');
|
|
await wizardPage.visualizationItemDialog.open(PlaceholderName.Size, 'Year');
|
|
await wizardPage.visualizationItemDialog.setAggregation(
|
|
DialogFieldAggregationSelectorValuesQa.Max,
|
|
);
|
|
const apiRunRequest = wizardPage.page.waitForRequest(
|
|
(request) => new URL(request.url()).pathname === CommonUrls.ApiRun,
|
|
);
|
|
await wizardPage.visualizationItemDialog.clickOnApplyButton();
|
|
await (await apiRunRequest).response();
|
|
|
|
const clipboardData = await wizardPage.chartkit.exportMarkdown();
|
|
const expected = `|Profit|Sales|Region|Year|
|
|
|:-|:-:|:-:|-:|
|
|
|52634|393775.10127949715|East|2017|
|
|
|67035|437618.3998544216|West|2017|
|
|
|26153|216520.79994261265|South|2017|
|
|
|26831|294532.10064288974|Central|2017|`;
|
|
|
|
await expect(clipboardData).toEqual(expected);
|
|
});
|
|
|
|
datalensTest('Points with size and color. Markdown', async ({page}: {page: Page}) => {
|
|
const wizardPage = new WizardPage({page});
|
|
|
|
let apiRunRequest = wizardPage.page.waitForRequest(
|
|
(request) => new URL(request.url()).pathname === CommonUrls.ApiRun,
|
|
);
|
|
await wizardPage.sectionVisualization.addFieldByClick(PlaceholderName.Size, 'Year');
|
|
await (await apiRunRequest).response();
|
|
|
|
await wizardPage.visualizationItemDialog.open(PlaceholderName.Size, 'Year');
|
|
await wizardPage.visualizationItemDialog.setAggregation(
|
|
DialogFieldAggregationSelectorValuesQa.Max,
|
|
);
|
|
apiRunRequest = wizardPage.page.waitForRequest(
|
|
(request) => new URL(request.url()).pathname === CommonUrls.ApiRun,
|
|
);
|
|
await wizardPage.visualizationItemDialog.clickOnApplyButton();
|
|
await (await apiRunRequest).response();
|
|
|
|
apiRunRequest = wizardPage.page.waitForRequest(
|
|
(request) => new URL(request.url()).pathname === CommonUrls.ApiRun,
|
|
);
|
|
await wizardPage.sectionVisualization.addFieldByClick(PlaceholderName.Colors, 'Profit AVG');
|
|
await (await apiRunRequest).response();
|
|
|
|
const clipboardData = await wizardPage.chartkit.exportMarkdown();
|
|
const expected = `|Profit|Sales|Region|Year|Profit AVG|
|
|
|:-|:-:|:-:|:-:|-:|
|
|
|52634|393775.10127949715|East|2017|31.19976289270895|
|
|
|67035|437618.3998544216|West|2017|35.28157894736842|
|
|
|26153|216520.79994261265|South|2017|28.091299677765843|
|
|
|26831|294532.10064288974|Central|2017|19.428674873280233|`;
|
|
|
|
await expect(clipboardData).toEqual(expected);
|
|
});
|
|
});
|