139 lines
6.9 KiB
TypeScript
139 lines
6.9 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 {COMMON_CHARTKIT_SELECTORS} from '../../../page-objects/constants/chartkit';
|
|
import WizardPage from '../../../page-objects/wizard/WizardPage';
|
|
import {PlaceholderName} from '../../../page-objects/wizard/SectionVisualization';
|
|
|
|
datalensTest.describe('Wizard', () => {
|
|
datalensTest.describe('Tooltip header', () => {
|
|
datalensTest.beforeEach(async ({page, config}) => {
|
|
await openTestPage(page, config.wizard.urls.WizardBasicDataset);
|
|
const wizardPage = new WizardPage({page});
|
|
await wizardPage.setVisualization(WizardVisualizationId.Column);
|
|
});
|
|
|
|
datalensTest('Should format the date correctly when clustered by day', async ({page}) => {
|
|
const wizardPage = new WizardPage({page});
|
|
const preview = page.locator(slct(WizardPageQa.SectionPreview));
|
|
const chart = preview.locator('.gcharts-chart');
|
|
await wizardPage.createNewFieldWithFormula(
|
|
'DateClusteredByDay',
|
|
'DATETRUNC([Order_date], "day")',
|
|
);
|
|
await wizardPage.createNewFieldWithFormula('SalesSum', 'sum([Sales])');
|
|
await wizardPage.sectionVisualization.addFieldByClick(
|
|
PlaceholderName.X,
|
|
'DateClusteredByDay',
|
|
);
|
|
await wizardPage.sectionVisualization.addFieldByClick(PlaceholderName.Y, 'SalesSum');
|
|
await wizardPage.sectionVisualization.addFieldByClick(
|
|
PlaceholderName.Filters,
|
|
'DateClusteredByDay',
|
|
);
|
|
await wizardPage.filterEditor.selectRangeDate(['01.01.2018', '01.01.2018']);
|
|
await wizardPage.filterEditor.apply();
|
|
await expect(preview.locator(slct(ChartKitQa.Loader))).not.toBeVisible();
|
|
const bar = chart.locator('.gcharts-bar-x').first();
|
|
await expect(bar).toBeVisible();
|
|
await bar.hover({force: true});
|
|
const headerText = await page
|
|
.locator(COMMON_CHARTKIT_SELECTORS.tooltipHeader)
|
|
.textContent();
|
|
expect(headerText).toBe('1 January 2018 Mon');
|
|
});
|
|
|
|
datalensTest('Should format the date correctly when clustered by week', async ({page}) => {
|
|
const wizardPage = new WizardPage({page});
|
|
const preview = page.locator(slct(WizardPageQa.SectionPreview));
|
|
const chart = preview.locator('.gcharts-chart');
|
|
await wizardPage.createNewFieldWithFormula(
|
|
'DateClusteredByWeek',
|
|
'DATETRUNC([Order_date], "week")',
|
|
);
|
|
await wizardPage.createNewFieldWithFormula('SalesSum', 'sum([Sales])');
|
|
await wizardPage.sectionVisualization.addFieldByClick(
|
|
PlaceholderName.X,
|
|
'DateClusteredByWeek',
|
|
);
|
|
await wizardPage.sectionVisualization.addFieldByClick(PlaceholderName.Y, 'SalesSum');
|
|
await wizardPage.sectionVisualization.addFieldByClick(
|
|
PlaceholderName.Filters,
|
|
'DateClusteredByWeek',
|
|
);
|
|
await wizardPage.filterEditor.selectRangeDate(['01.01.2018', '08.01.2018']);
|
|
await wizardPage.filterEditor.apply();
|
|
await expect(preview.locator(slct(ChartKitQa.Loader))).not.toBeVisible();
|
|
const bar = chart.locator('.gcharts-bar-x').first();
|
|
await expect(bar).toBeVisible();
|
|
await bar.hover({force: true});
|
|
const headerText = await page
|
|
.locator(COMMON_CHARTKIT_SELECTORS.tooltipHeader)
|
|
.textContent();
|
|
expect(headerText).toBe('1 January 2018');
|
|
});
|
|
|
|
datalensTest('Should format the date correctly when clustered by month', async ({page}) => {
|
|
const wizardPage = new WizardPage({page});
|
|
const preview = page.locator(slct(WizardPageQa.SectionPreview));
|
|
const chart = preview.locator('.gcharts-chart');
|
|
await wizardPage.createNewFieldWithFormula(
|
|
'DateClusteredByMonth',
|
|
'DATETRUNC([Order_date], "month")',
|
|
);
|
|
await wizardPage.createNewFieldWithFormula('SalesSum', 'sum([Sales])');
|
|
await wizardPage.sectionVisualization.addFieldByClick(
|
|
PlaceholderName.X,
|
|
'DateClusteredByMonth',
|
|
);
|
|
await wizardPage.sectionVisualization.addFieldByClick(PlaceholderName.Y, 'SalesSum');
|
|
await wizardPage.sectionVisualization.addFieldByClick(
|
|
PlaceholderName.Filters,
|
|
'DateClusteredByMonth',
|
|
);
|
|
await wizardPage.filterEditor.selectRangeDate(['01.01.2018', '01.02.2018']);
|
|
await wizardPage.filterEditor.apply();
|
|
await expect(preview.locator(slct(ChartKitQa.Loader))).not.toBeVisible();
|
|
const bar = chart.locator('.gcharts-bar-x').first();
|
|
await expect(bar).toBeVisible();
|
|
await bar.hover({force: true});
|
|
const headerText = await page
|
|
.locator(COMMON_CHARTKIT_SELECTORS.tooltipHeader)
|
|
.textContent();
|
|
expect(headerText).toBe('January 2018');
|
|
});
|
|
|
|
datalensTest('Should format the date correctly when clustered by year', async ({page}) => {
|
|
const wizardPage = new WizardPage({page});
|
|
const preview = page.locator(slct(WizardPageQa.SectionPreview));
|
|
const chart = preview.locator('.gcharts-chart');
|
|
await wizardPage.createNewFieldWithFormula(
|
|
'DateClusteredByYear',
|
|
'DATETRUNC([Order_date], "year")',
|
|
);
|
|
await wizardPage.createNewFieldWithFormula('SalesSum', 'sum([Sales])');
|
|
await wizardPage.sectionVisualization.addFieldByClick(
|
|
PlaceholderName.X,
|
|
'DateClusteredByYear',
|
|
);
|
|
await wizardPage.sectionVisualization.addFieldByClick(PlaceholderName.Y, 'SalesSum');
|
|
await wizardPage.sectionVisualization.addFieldByClick(
|
|
PlaceholderName.Filters,
|
|
'DateClusteredByYear',
|
|
);
|
|
await wizardPage.filterEditor.selectRangeDate(['01.01.2017', '01.01.2018']);
|
|
await wizardPage.filterEditor.apply();
|
|
await expect(preview.locator(slct(ChartKitQa.Loader))).not.toBeVisible();
|
|
const bar = chart.locator('.gcharts-bar-x').first();
|
|
await expect(bar).toBeVisible();
|
|
await bar.hover({force: true});
|
|
const headerText = await page
|
|
.locator(COMMON_CHARTKIT_SELECTORS.tooltipHeader)
|
|
.textContent();
|
|
expect(headerText).toBe('2017');
|
|
});
|
|
});
|
|
});
|