Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Lens][TSVB] Functional tests for converting of Top N. #143181

9 changes: 9 additions & 0 deletions test/functional/page_objects/visualize_page.ts
Original file line number Diff line number Diff line change
Expand Up @@ -148,6 +148,15 @@ export class VisualizePageObject extends FtrService {
await this.waitForVisualizationSelectPage();
}

public async navigateToLensFromAnotherVisulization() {
const button = await this.testSubjects.find('visualizeEditInLensButton');
await button.click();
}

public async hasNavigateToLensButton() {
return await this.testSubjects.exists('visualizeEditInLensButton');
}

public async hasVisType(type: string) {
return await this.testSubjects.exists(`visType-${type}`);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,6 @@ import { FtrProviderContext } from '../../../../../ftr_provider_context';
export default function ({ getPageObjects, getService }: FtrProviderContext) {
const { visualize, lens, timePicker } = getPageObjects(['visualize', 'lens', 'timePicker']);

const testSubjects = getService('testSubjects');

describe('Gauge', function describeIndexTests() {
const isNewChartsLibraryEnabled = true;

Expand All @@ -28,13 +26,11 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
});

it('should show the "Edit Visualization in Lens" menu item', async () => {
const button = await testSubjects.exists('visualizeEditInLensButton');
expect(button).to.eql(true);
expect(await visualize.hasNavigateToLensButton()).to.eql(true);
});

it('should convert to Lens', async () => {
const button = await testSubjects.find('visualizeEditInLensButton');
await button.click();
await visualize.navigateToLensFromAnotherVisulization();
await lens.waitForVisualization('gaugeChart');
});
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,6 @@ import { FtrProviderContext } from '../../../../../ftr_provider_context';
export default function ({ getPageObjects, getService }: FtrProviderContext) {
const { visualize, lens, timePicker } = getPageObjects(['visualize', 'lens', 'timePicker']);

const testSubjects = getService('testSubjects');

describe('Goal', function describeIndexTests() {
const isNewChartsLibraryEnabled = true;

Expand All @@ -28,13 +26,11 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
});

it('should show the "Edit Visualization in Lens" menu item', async () => {
const button = await testSubjects.exists('visualizeEditInLensButton');
expect(button).to.eql(true);
expect(await visualize.hasNavigateToLensButton()).to.eql(true);
});

it('should convert to Lens', async () => {
const button = await testSubjects.find('visualizeEditInLensButton');
await button.click();
await visualize.navigateToLensFromAnotherVisulization();
await lens.waitForVisualization('mtrVis');
expect((await lens.getMetricVisualizationData()).length).to.be.equal(1);
expect(await lens.getMetricVisualizationData()).to.eql([
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,6 @@ import { FtrProviderContext } from '../../../../../ftr_provider_context';
export default function ({ getPageObjects, getService }: FtrProviderContext) {
const { visualize, lens, timePicker } = getPageObjects(['visualize', 'lens', 'timePicker']);

const testSubjects = getService('testSubjects');

describe('Metric', function describeIndexTests() {
const isNewChartsLibraryEnabled = true;

Expand All @@ -28,13 +26,11 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
});

it('should show the "Edit Visualization in Lens" menu item', async () => {
const button = await testSubjects.exists('visualizeEditInLensButton');
expect(button).to.eql(true);
expect(await visualize.hasNavigateToLensButton()).to.eql(true);
});

it('should convert to Lens', async () => {
const button = await testSubjects.find('visualizeEditInLensButton');
await button.click();
await visualize.navigateToLensFromAnotherVisulization();
await lens.waitForVisualization('mtrVis');
expect((await lens.getMetricVisualizationData()).length).to.be.equal(1);
expect(await lens.getMetricVisualizationData()).to.eql([
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
'header',
]);

const testSubjects = getService('testSubjects');
const pieChart = getService('pieChart');

describe('Pie', function describeIndexTests() {
Expand All @@ -35,8 +34,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
});

it('should hide the "Edit Visualization in Lens" menu item if no split slices were defined', async () => {
const button = await testSubjects.exists('visualizeEditInLensButton');
expect(button).to.eql(false);
expect(await visualize.hasNavigateToLensButton()).to.eql(false);
});

it('should show the "Edit Visualization in Lens" menu item', async () => {
Expand All @@ -46,8 +44,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
await header.waitUntilLoadingHasFinished();
await visEditor.clickGo(isNewChartsLibraryEnabled);

const button = await testSubjects.exists('visualizeEditInLensButton');
expect(button).to.eql(true);
expect(await visualize.hasNavigateToLensButton()).to.eql(true);
});

it('should convert to Lens', async () => {
Expand All @@ -58,8 +55,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
await header.waitUntilLoadingHasFinished();
await visEditor.clickGo(isNewChartsLibraryEnabled);

const button = await testSubjects.find('visualizeEditInLensButton');
await button.click();
await visualize.navigateToLensFromAnotherVisulization();
await lens.waitForVisualization('partitionVisChart');

await pieChart.expectPieChartLabels(expectedTableData, isNewChartsLibraryEnabled);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
await panelActions.openContextMenu();
await panelActions.clickEdit();

const button = await testSubjects.find('visualizeEditInLensButton');
await button.click();
await visualize.navigateToLensFromAnotherVisulization();
await lens.waitForVisualization('xyVisChart');
await retry.try(async () => {
const dimensions = await testSubjects.findAll('lns-dimensionTrigger');
Expand Down Expand Up @@ -74,8 +73,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
await panelActions.openContextMenu();
await panelActions.clickEdit();

const button = await testSubjects.find('visualizeEditInLensButton');
await button.click();
await visualize.navigateToLensFromAnotherVisulization();
await lens.waitForVisualization('legacyMtrVis');
await retry.try(async () => {
const dimensions = await testSubjects.findAll('lns-dimensionTrigger');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,13 +35,11 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
});

it('should show the "Edit Visualization in Lens" menu item', async () => {
const button = await testSubjects.exists('visualizeEditInLensButton');
expect(button).to.eql(true);
expect(await visualize.hasNavigateToLensButton()).to.eql(true);
});

it('should convert to Lens', async () => {
const button = await testSubjects.find('visualizeEditInLensButton');
await button.click();
await visualize.navigateToLensFromAnotherVisulization();
await lens.waitForVisualization('mtrVis');

const metricData = await lens.getMetricVisualizationData();
Expand All @@ -54,8 +52,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {

await header.waitUntilLoadingHasFinished();

const button = await testSubjects.find('visualizeEditInLensButton');
await button.click();
await visualize.navigateToLensFromAnotherVisulization();
await lens.waitForVisualization('mtrVis');
await retry.try(async () => {
const layers = await find.allByCssSelector(`[data-test-subj^="lns-layerPanel-"]`);
Expand All @@ -74,15 +71,13 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {

await header.waitUntilLoadingHasFinished();

const canEdit = await testSubjects.exists('visualizeEditInLensButton');
expect(canEdit).to.be(false);
expect(await visualize.hasNavigateToLensButton()).to.be(false);
});

it('should not allow converting of not valid panel', async () => {
await visualBuilder.selectAggType('Value Count');
await header.waitUntilLoadingHasFinished();
const canEdit = await testSubjects.exists('visualizeEditInLensButton');
expect(canEdit).to.be(false);
expect(await visualize.hasNavigateToLensButton()).to.be(false);
});

it('should convert color ranges', async () => {
Expand All @@ -101,8 +96,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
await visualBuilder.setColorPickerValue('#54A000', 4);

await header.waitUntilLoadingHasFinished();
const button = await testSubjects.find('visualizeEditInLensButton');
await button.click();
await visualize.navigateToLensFromAnotherVisulization();

await lens.waitForVisualization('mtrVis');
await retry.try(async () => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,6 @@ export default function ({ loadTestFile }: FtrProviderContext) {
loadTestFile(require.resolve('./gauge'));
loadTestFile(require.resolve('./timeseries'));
loadTestFile(require.resolve('./dashboard'));
loadTestFile(require.resolve('./top_n'));
});
}
Original file line number Diff line number Diff line change
Expand Up @@ -34,13 +34,11 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
});

it('should show the "Edit Visualization in Lens" menu item', async () => {
const button = await testSubjects.exists('visualizeEditInLensButton');
expect(button).to.eql(true);
expect(await visualize.hasNavigateToLensButton()).to.eql(true);
});

it('should convert to Lens', async () => {
const button = await testSubjects.find('visualizeEditInLensButton');
await button.click();
await visualize.navigateToLensFromAnotherVisulization();
await lens.waitForVisualization('mtrVis');

const metricData = await lens.getMetricVisualizationData();
Expand All @@ -53,8 +51,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {

await header.waitUntilLoadingHasFinished();

const button = await testSubjects.find('visualizeEditInLensButton');
await button.click();
await visualize.navigateToLensFromAnotherVisulization();
await lens.waitForVisualization('mtrVis');
await retry.try(async () => {
expect(await lens.getLayerCount()).to.be(1);
Expand All @@ -71,8 +68,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {

await header.waitUntilLoadingHasFinished();

const button = await testSubjects.find('visualizeEditInLensButton');
await button.click();
await visualize.navigateToLensFromAnotherVisulization();
await lens.waitForVisualization('mtrVis');
await retry.try(async () => {
expect(await lens.getLayerCount()).to.be(1);
Expand All @@ -89,15 +85,13 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {

await header.waitUntilLoadingHasFinished();

const canEdit = await testSubjects.exists('visualizeEditInLensButton');
expect(canEdit).to.be(false);
expect(await visualize.hasNavigateToLensButton()).to.be(false);
});

it('should not allow converting of not valid panel', async () => {
await visualBuilder.selectAggType('Value Count');
await header.waitUntilLoadingHasFinished();
const canEdit = await testSubjects.exists('visualizeEditInLensButton');
expect(canEdit).to.be(false);
expect(await visualize.hasNavigateToLensButton()).to.be(false);
});

it('should convert color ranges', async () => {
Expand All @@ -107,8 +101,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
await visualBuilder.setColorPickerValue('#54B399');

await header.waitUntilLoadingHasFinished();
const button = await testSubjects.find('visualizeEditInLensButton');
await button.click();
await visualize.navigateToLensFromAnotherVisulization();

await lens.waitForVisualization('mtrVis');
await retry.try(async () => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,15 +35,11 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
});

it('should show the "Edit Visualization in Lens" menu item for a count aggregation', async () => {
const isMenuItemVisible = await find.existsByCssSelector(
'[data-test-subj="visualizeEditInLensButton"]'
);
expect(isMenuItemVisible).to.be(true);
expect(await visualize.hasNavigateToLensButton()).to.be(true);
});

it('visualizes field to Lens and loads fields to the dimesion editor', async () => {
const button = await testSubjects.find('visualizeEditInLensButton');
await button.click();
await visualize.navigateToLensFromAnotherVisulization();
await lens.waitForVisualization('xyVisChart');
await retry.try(async () => {
const dimensions = await testSubjects.findAll('lns-dimensionTrigger');
Expand All @@ -54,8 +50,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
});

it('navigates back to TSVB when the Back button is clicked', async () => {
const button = await testSubjects.find('visualizeEditInLensButton');
await button.click();
await visualize.navigateToLensFromAnotherVisulization();
await lens.waitForVisualization('xyVisChart');

const goBackBtn = await testSubjects.find('lnsApp_goBackToAppButton');
Expand All @@ -70,8 +65,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
it('should preserve app filters in lens', async () => {
await filterBar.addFilter('extension', 'is', 'css');
await header.waitUntilLoadingHasFinished();
const button = await testSubjects.find('visualizeEditInLensButton');
await button.click();
await visualize.navigateToLensFromAnotherVisulization();
await lens.waitForVisualization('xyVisChart');

expect(await filterBar.hasFilter('extension', 'css')).to.be(true);
Expand All @@ -81,8 +75,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
await queryBar.setQuery('machine.os : ios');
await queryBar.submitQuery();
await header.waitUntilLoadingHasFinished();
const button = await testSubjects.find('visualizeEditInLensButton');
await button.click();
await visualize.navigateToLensFromAnotherVisulization();
await lens.waitForVisualization('xyVisChart');

expect(await queryBar.getQueryString()).to.equal('machine.os : ios');
Expand All @@ -95,8 +88,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {

await header.waitUntilLoadingHasFinished();

const button = await testSubjects.find('visualizeEditInLensButton');
await button.click();
await visualize.navigateToLensFromAnotherVisulization();
await lens.waitForVisualization('xyVisChart');
await retry.try(async () => {
const layers = await find.allByCssSelector(`[data-test-subj^="lns-layerPanel-"]`);
Expand All @@ -121,8 +113,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {

await header.waitUntilLoadingHasFinished();

const button = await testSubjects.find('visualizeEditInLensButton');
await button.click();
await visualize.navigateToLensFromAnotherVisulization();
await lens.waitForVisualization('xyVisChart');
await retry.try(async () => {
expect(await lens.getLayerCount()).to.be(1);
Expand All @@ -139,17 +130,15 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
it('should not allow converting of not valid panel', async () => {
await visualBuilder.selectAggType('Counter Rate');
await header.waitUntilLoadingHasFinished();
const canEdit = await testSubjects.exists('visualizeEditInLensButton');
expect(canEdit).to.be(false);
expect(await visualize.hasNavigateToLensButton()).to.be(false);
});

it('should not allow converting of unsupported aggregations', async () => {
await visualBuilder.selectAggType('Variance');
await visualBuilder.setFieldForAggregation('machine.ram');

await header.waitUntilLoadingHasFinished();
const canEdit = await testSubjects.exists('visualizeEditInLensButton');
expect(canEdit).to.be(false);
expect(await visualize.hasNavigateToLensButton()).to.be(false);
});

it('should convert parent pipeline aggregation with terms', async () => {
Expand All @@ -161,8 +150,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
await visualBuilder.setMetricsGroupByTerms('extension.raw');

await header.waitUntilLoadingHasFinished();
const button = await testSubjects.find('visualizeEditInLensButton');
await button.click();
await visualize.navigateToLensFromAnotherVisulization();

await lens.waitForVisualization('xyVisChart');
await retry.try(async () => {
Expand All @@ -185,8 +173,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
await visualBuilder.setMetricsGroupByTerms('extension.raw');

await header.waitUntilLoadingHasFinished();
const button = await testSubjects.find('visualizeEditInLensButton');
await button.click();
await visualize.navigateToLensFromAnotherVisulization();

await lens.waitForVisualization('xyVisChart');
await retry.try(async () => {
Expand Down
Loading