75 lines
2.6 KiB
TypeScript
75 lines
2.6 KiB
TypeScript
import {Page, expect} from '@playwright/test';
|
|
|
|
import {WizardVisualizationId} from '../../../page-objects/common/Visualization';
|
|
import {PlaceholderName} from '../../../page-objects/wizard/SectionVisualization';
|
|
import WizardPage from '../../../page-objects/wizard/WizardPage';
|
|
import {RobotChartsWizardUrls} from '../../../utils/constants';
|
|
import datalensTest from '../../../utils/playwright/globalTestDefinition';
|
|
import {openTestPage} from '../../../utils';
|
|
|
|
datalensTest.describe('Wizard requests to api/run ', () => {
|
|
datalensTest(
|
|
'When changing the filters, the api/run should be triggered once when a new chart is created',
|
|
async ({page}: {page: Page}) => {
|
|
const expectedNumberOfRequests = 1;
|
|
|
|
const wizardPage = new WizardPage({page});
|
|
|
|
await openTestPage(page, RobotChartsWizardUrls.WizardForDatasetSampleCh);
|
|
|
|
await wizardPage.setVisualization(WizardVisualizationId.Column);
|
|
|
|
await wizardPage.sectionVisualization.addFieldByClick(PlaceholderName.X, 'Category');
|
|
|
|
await wizardPage.sectionVisualization.addFieldByClick(
|
|
PlaceholderName.Filters,
|
|
'Region',
|
|
);
|
|
|
|
await wizardPage.filterEditor.selectValues(['Central', 'East']);
|
|
|
|
let numberOfRequests = 0;
|
|
|
|
await wizardPage.page.on('request', (request) => {
|
|
if (request.url().includes('api/run')) {
|
|
numberOfRequests += 1;
|
|
}
|
|
});
|
|
|
|
await wizardPage.filterEditor.apply();
|
|
|
|
await wizardPage.chartkit.waitUntilLoaderExists();
|
|
|
|
expect(numberOfRequests).toEqual(expectedNumberOfRequests);
|
|
},
|
|
);
|
|
|
|
datalensTest(
|
|
'When changing the filters, the api/run should be triggered once when editing the saved chart',
|
|
async ({page}: {page: Page}) => {
|
|
const wizardPage = new WizardPage({page});
|
|
|
|
const expectedNumberOfRequests = 1;
|
|
let numberOfRequests = 0;
|
|
|
|
await openTestPage(page, RobotChartsWizardUrls.WizardFlatTable);
|
|
|
|
await wizardPage.sectionVisualization.addFieldByClick(PlaceholderName.Filters, 'State');
|
|
|
|
await wizardPage.filterEditor.selectValues(['Alabama', 'Delaware']);
|
|
|
|
await wizardPage.page.on('request', (request) => {
|
|
if (request.url().includes('api/run')) {
|
|
numberOfRequests += 1;
|
|
}
|
|
});
|
|
|
|
await wizardPage.filterEditor.apply();
|
|
|
|
await wizardPage.chartkit.waitUntilLoaderExists();
|
|
|
|
expect(numberOfRequests).toEqual(expectedNumberOfRequests);
|
|
},
|
|
);
|
|
});
|