[Lens] speed up functional test suite by setting the time picker via ui settings (#199479)

1. Speeds up functional test suite by setting the time picker via ui
settings
2. removes legacy tests from editor frame (replaced by adding some
conditions to drag_drop functional tests) as they were not the best
tests anyway
This commit is contained in:
Marta Bondyra 2024-11-12 17:40:47 +01:00 committed by GitHub
parent fd5b40d495
commit 13e9b9950a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
53 changed files with 69 additions and 388 deletions

View file

@ -28,6 +28,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
describe('input control options', () => {
before(async () => {
await visualize.initTests();
await timePicker.resetDefaultAbsoluteRangeViaUiSettings();
await common.navigateToApp('visualize');
await visualize.loadSavedVisualization('input control options', {
navigateToVisualize: false,

View file

@ -41,6 +41,7 @@ export class VisualizePageObject extends FtrService {
private readonly elasticChart = this.ctx.getService('elasticChart');
private readonly common = this.ctx.getPageObject('common');
private readonly header = this.ctx.getPageObject('header');
private readonly timePicker = this.ctx.getPageObject('timePicker');
private readonly visChart = this.ctx.getPageObject('visChart');
private readonly toasts = this.ctx.getService('toasts');
@ -63,6 +64,7 @@ export class VisualizePageObject extends FtrService {
[FORMATS_UI_SETTINGS.FORMAT_BYTES_DEFAULT_PATTERN]: '0,0.[000]b',
'visualization:visualize:legacyHeatmapChartsLibrary': isLegacyChart,
'histogram:maxBars': 100,
'timepicker:timeDefaults': `{ "from": "${this.timePicker.defaultStartTimeUTC}", "to": "${this.timePicker.defaultEndTimeUTC}"}`,
});
}

View file

@ -5,20 +5,12 @@
* 2.0.
*/
import React, { useEffect } from 'react';
import { ReactWrapper } from 'enzyme';
import React from 'react';
import { screen, within } from '@testing-library/react';
import userEvent from '@testing-library/user-event';
import { EditorFrame, EditorFrameProps } from './editor_frame';
import {
DatasourceMap,
DatasourcePublicAPI,
DatasourceSuggestion,
Visualization,
VisualizationMap,
} from '../../types';
import { act } from '@testing-library/react';
import { DatasourceMap, DatasourcePublicAPI, Visualization, VisualizationMap } from '../../types';
import { coreMock } from '@kbn/core/public/mocks';
import {
createMockVisualization,
@ -29,30 +21,16 @@ import {
renderWithReduxStore,
} from '../../mocks';
import { inspectorPluginMock } from '@kbn/inspector-plugin/public/mocks';
import { Droppable, useDragDropContext } from '@kbn/dom-drag-drop';
import { uiActionsPluginMock } from '@kbn/ui-actions-plugin/public/mocks';
import { chartPluginMock } from '@kbn/charts-plugin/public/mocks';
import { expressionsPluginMock } from '@kbn/expressions-plugin/public/mocks';
import { mockDataPlugin, mountWithProvider } from '../../mocks';
import { mockDataPlugin } from '../../mocks';
import { LensAppState, setState } from '../../state_management';
import { getLensInspectorService } from '../../lens_inspector_service';
import { createIndexPatternServiceMock } from '../../mocks/data_views_service_mock';
import { dataViewPluginMocks } from '@kbn/data-views-plugin/public/mocks';
import { EventAnnotationServiceType } from '@kbn/event-annotation-plugin/public';
function generateSuggestion(state = {}): DatasourceSuggestion {
return {
state,
table: {
columns: [],
isMultiRow: true,
layerId: 'first',
changeType: 'unchanged',
},
keptLayerIds: ['first'],
};
}
function wrapDataViewsContract() {
const dataViewsContract = dataViewPluginMocks.createStartContract();
return {
@ -437,180 +415,5 @@ describe('editor_frame', () => {
})
);
});
describe('legacy tests', () => {
let instance: ReactWrapper;
afterEach(() => {
instance.unmount();
});
it('should use the currently selected visualization if possible on field drop', async () => {
mockDatasource.getLayers.mockReturnValue(['first', 'second', 'third']);
const suggestionVisState = {};
const props = {
...getDefaultProps(),
visualizationMap: {
testVis: {
...mockVisualization,
getSuggestions: () => [
{
score: 0.2,
state: {},
title: 'Suggestion1',
previewIcon: 'empty',
},
{
score: 0.6,
state: suggestionVisState,
title: 'Suggestion2',
previewIcon: 'empty',
},
],
},
testVis2: {
...mockVisualization2,
getSuggestions: () => [
{
score: 0.8,
state: {},
title: 'Suggestion3',
previewIcon: 'empty',
},
],
},
},
datasourceMap: {
testDatasource: {
...mockDatasource,
getDatasourceSuggestionsForField: () => [generateSuggestion()],
getDatasourceSuggestionsFromCurrentState: () => [generateSuggestion()],
getDatasourceSuggestionsForVisualizeField: () => [generateSuggestion()],
DataPanelComponent: jest.fn().mockImplementation(() => <div />),
},
},
} as EditorFrameProps;
instance = (
await mountWithProvider(<EditorFrame {...props} />, {
preloadedState: {
datasourceStates: {
testDatasource: {
isLoading: false,
state: {
internalState1: '',
},
},
},
},
})
).instance;
instance.update();
act(() => {
instance.find('[data-test-subj="mockVisA"]').find(Droppable).prop('onDrop')!(
{
indexPatternId: '1',
field: {},
id: '1',
humanData: { label: 'draggedField' },
},
'field_add'
);
});
expect(mockVisualization.getConfiguration).toHaveBeenCalledWith(
expect.objectContaining({
state: suggestionVisState,
})
);
});
it('should use the highest priority suggestion available', async () => {
mockDatasource.getLayers.mockReturnValue(['first', 'second', 'third']);
const suggestionVisState = {};
const mockVisualization3 = {
...createMockVisualization('testVis3', ['third']),
getSuggestions: () => [
{
score: 0.9,
state: suggestionVisState,
title: 'Suggestion3',
previewIcon: 'empty',
},
{
score: 0.7,
state: {},
title: 'Suggestion4',
previewIcon: 'empty',
},
],
};
const props = {
...getDefaultProps(),
visualizationMap: {
testVis: {
...mockVisualization,
// do not return suggestions for the currently active vis, otherwise it will be chosen
getSuggestions: () => [],
},
testVis2: {
...mockVisualization2,
getSuggestions: () => [],
},
testVis3: {
...mockVisualization3,
},
},
datasourceMap: {
testDatasource: {
...mockDatasource,
getDatasourceSuggestionsForField: () => [generateSuggestion()],
getDatasourceSuggestionsFromCurrentState: () => [generateSuggestion()],
getDatasourceSuggestionsForVisualizeField: () => [generateSuggestion()],
DataPanelComponent: jest.fn().mockImplementation(() => {
const [, dndDispatch] = useDragDropContext();
useEffect(() => {
dndDispatch({
type: 'startDragging',
payload: {
dragging: {
id: 'draggedField',
humanData: { label: '1' },
},
},
});
}, [dndDispatch]);
return <div />;
}),
},
},
} as EditorFrameProps;
instance = (await mountWithProvider(<EditorFrame {...props} />)).instance;
instance.update();
act(() => {
instance.find(Droppable).filter('[dataTestSubj="lnsWorkspace"]').prop('onDrop')!(
{
indexPatternId: '1',
field: {},
id: '1',
humanData: {
label: 'label',
},
},
'field_add'
);
});
expect(mockVisualization3.getConfiguration).toHaveBeenCalledWith(
expect.objectContaining({
state: suggestionVisState,
})
);
});
});
});
});

View file

@ -23,7 +23,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
it('should allow creation of lens xy chart', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.configureDimension({
dimension: 'lnsXY_xDimensionPanel > lns-empty-dimension',
@ -60,7 +59,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await visualize.gotoVisualizationLandingPage();
await listingTable.searchForItemWithName('Afancilenstest');
await lens.clickVisualizeListItemTitle('Afancilenstest');
await lens.goToTimeRange();
await lens.waitForVisualization('xyVisChart');
expect(await lens.getTitle()).to.eql('Afancilenstest');
@ -75,7 +74,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await visualize.gotoVisualizationLandingPage();
await listingTable.searchForItemWithName('lnsXYvis');
await lens.clickVisualizeListItemTitle('lnsXYvis');
await lens.goToTimeRange();
// Change the IP field to filters
await lens.configureDimension({
dimension: 'lnsXY_splitDimensionPanel > lns-dimensionTrigger',
@ -94,7 +93,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await visualize.gotoVisualizationLandingPage();
await listingTable.searchForItemWithName('Artistpreviouslyknownaslens');
await lens.clickVisualizeListItemTitle('Artistpreviouslyknownaslens');
await lens.goToTimeRange();
await lens.assertLegacyMetric('Maximum of bytes', '19,986');
await lens.switchToVisualization('lnsDatatable');
expect(await lens.getDatatableHeaderText()).to.eql('Maximum of bytes');
@ -106,7 +105,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
it('should transition from a multi-layer stacked bar to a multi-layer line chart and correctly remove all layers', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.configureDimension({
dimension: 'lnsXY_xDimensionPanel > lns-empty-dimension',
@ -150,7 +148,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
it('should transition selected layer in a multi layer bar using layer chart switch', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.configureDimension({
dimension: 'lnsXY_xDimensionPanel > lns-empty-dimension',
@ -197,7 +194,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await visualize.gotoVisualizationLandingPage();
await listingTable.searchForItemWithName('lnsXYvis');
await lens.clickVisualizeListItemTitle('lnsXYvis');
await lens.goToTimeRange();
await lens.removeDimension('lnsXY_splitDimensionPanel');
await lens.switchToVisualization('line');
await lens.configureDimension({
@ -255,7 +252,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await elasticChart.setNewChartUiDebugFlag(true);
await lens.goToTimeRange();
await lens.switchToVisualization('bar');
await lens.configureDimension({
@ -323,7 +320,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
it('should transition from a multi-layer stacked bar to treemap chart using suggestions', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.configureDimension({
dimension: 'lnsXY_xDimensionPanel > lns-empty-dimension',
@ -367,7 +363,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await visualize.gotoVisualizationLandingPage();
await listingTable.searchForItemWithName('lnsXYvis');
await lens.clickVisualizeListItemTitle('lnsXYvis');
await lens.goToTimeRange();
expect(await lens.hasChartSwitchWarning('pie')).to.eql(true);
await lens.switchToVisualization('pie');
@ -394,7 +390,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await visualize.gotoVisualizationLandingPage();
await listingTable.searchForItemWithName('lnsXYvis');
await lens.clickVisualizeListItemTitle('lnsXYvis');
await lens.goToTimeRange();
await lens.switchToVisualization('line');
expect(await lens.getTitle()).to.eql('lnsXYvis');
expect(await lens.getDimensionTriggerText('lnsXY_xDimensionPanel')).to.eql('@timestamp');
@ -410,7 +406,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await visualize.gotoVisualizationLandingPage();
await listingTable.searchForItemWithName('lnsPieVis');
await lens.clickVisualizeListItemTitle('lnsPieVis');
await lens.goToTimeRange();
expect(await lens.hasChartSwitchWarning('treemap')).to.eql(false);
await lens.switchToVisualization('treemap');
expect(await lens.getDimensionTriggersTexts('lnsPie_groupByDimensionPanel')).to.eql([
@ -425,7 +421,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
it('should create a pie chart and switch to datatable', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.switchToVisualization('pie');
await lens.configureDimension({
dimension: 'lnsPie_sliceByDimensionPanel > lns-empty-dimension',
@ -452,7 +448,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
it('should create a heatmap chart and transition to barchart', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.switchToVisualization('heatmap', 'heat');
await lens.configureDimension({
@ -482,7 +478,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
it('should create a valid XY chart with references', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.configureDimension({
dimension: 'lnsXY_xDimensionPanel > lns-empty-dimension',
@ -517,7 +512,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
it('should allow formatting on references', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.switchToVisualization('lnsDatatable');
await lens.configureDimension({
@ -563,7 +558,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
it('should handle edge cases in reference-based operations', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.configureDimension({
dimension: 'lnsXY_xDimensionPanel > lns-empty-dimension',
@ -596,7 +590,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
it('should keep the field selection while transitioning to every reference-based operation', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.configureDimension({
dimension: 'lnsXY_xDimensionPanel > lns-empty-dimension',
@ -633,7 +626,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
it('should not leave an incomplete column in the visualization config with field-based operation', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.configureDimension({
dimension: 'lnsXY_yDimensionPanel > lns-empty-dimension',
@ -646,7 +638,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
it('should revert to previous configuration and not leave an incomplete column in the visualization config with reference-based operations', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.configureDimension({
dimension: 'lnsXY_xDimensionPanel > lns-empty-dimension',
@ -682,7 +673,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
it('should transition from unique count to last value', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.configureDimension({
dimension: 'lnsXY_yDimensionPanel > lns-empty-dimension',
@ -715,7 +705,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
it('should allow filtering by legend on an xy chart', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.configureDimension({
dimension: 'lnsXY_xDimensionPanel > lns-empty-dimension',
@ -745,7 +734,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
it('should allow filtering by legend on a pie chart', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.switchToVisualization('pie');
await lens.configureDimension({

View file

@ -20,7 +20,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
before(async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.switchToVisualization('lnsDatatable');
});
@ -115,7 +114,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
before(async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.switchToVisualization('lnsDatatable');
});
@ -189,7 +187,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
before(async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.switchToVisualization('lnsDatatable');
});

View file

@ -262,6 +262,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
path: '/field-update-test',
method: 'DELETE',
});
await timePicker.setDefaultAbsoluteRangeViaUiSettings();
});
it('should show new fields Available fields', async () => {

View file

@ -36,22 +36,21 @@ export default ({ getService, loadTestFile, getPageObjects }: FtrProviderContext
fixtureDirs = localFixtures;
indexPatternString = localIndexPatternString;
await esNode.load(esArchive);
// changing the timepicker default here saves us from having to set it in Discover (~8s)
await timePicker.setDefaultAbsoluteRangeViaUiSettings();
await kibanaServer.uiSettings.update({
defaultIndex: indexPatternString,
'dateFormat:tz': 'UTC',
});
await kibanaServer.importExport.load(fixtureDirs.lensBasic);
await kibanaServer.importExport.load(fixtureDirs.lensDefault);
await timePicker.setDefaultAbsoluteRangeViaUiSettings();
});
after(async () => {
await esNode.unload(esArchive);
await timePicker.resetDefaultAbsoluteRangeViaUiSettings();
await kibanaServer.importExport.unload(fixtureDirs.lensBasic);
await kibanaServer.importExport.unload(fixtureDirs.lensDefault);
await kibanaServer.savedObjects.cleanStandardList();
await timePicker.resetDefaultAbsoluteRangeViaUiSettings();
});
// total run time ~ 16m 20s

View file

@ -18,7 +18,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
it('should allow creation of lens xy chart', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
// check that no sampling info is shown in the dataView picker
expect(await testSubjects.exists('lnsChangeIndexPatternSamplingInfo')).to.be(false);
@ -188,7 +187,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
it('should show visualization modifiers for layer settings when embedded in a dashboard', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
// click on open layer settings
await lens.openLayerContextMenu();
await testSubjects.click('lnsLayerSettings');

View file

@ -16,7 +16,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
before(async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
});
it('should be able to nest up to 3 levels for Pie charts', async () => {

View file

@ -42,7 +42,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
before(async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await navigationalSearch.focus();
await navigationalSearch.searchFor('type:lens lnsTableVis');
await navigationalSearch.clickOnOption(0);
@ -74,7 +73,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await visualize.gotoVisualizationLandingPage();
await listingTable.searchForItemWithName('lnsTableVis');
await lens.clickVisualizeListItemTitle('lnsTableVis');
await lens.goToTimeRange();
await navigationalSearch.focus();
await navigationalSearch.searchFor('type:application lens');
await navigationalSearch.clickOnOption(0);
@ -109,7 +107,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await visualize.gotoVisualizationLandingPage();
await listingTable.searchForItemWithName('lnsTableVis');
await lens.clickVisualizeListItemTitle('lnsTableVis');
await lens.goToTimeRange();
// go to empty vis
await lens.goToListingPageViaBreadcrumbs();
await visualize.clickNewVisualization();

View file

@ -20,7 +20,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await visualize.gotoVisualizationLandingPage();
await listingTable.searchForItemWithName('lnsXYvis');
await lens.clickVisualizeListItemTitle('lnsXYvis');
await lens.goToTimeRange();
await lens.switchToVisualization('lnsDatatable');
// Sort by number
await lens.changeTableSortingBy(2, 'ascending');

View file

@ -27,8 +27,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
const createNewLens = async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.configureDimension({
dimension: 'lnsXY_yDimensionPanel > lns-empty-dimension',
operation: 'average',
@ -48,8 +46,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await dashboardAddPanel.filterEmbeddableNames('lnsXYvis');
await find.clickByButtonText('lnsXYvis');
await dashboardAddPanel.closeAddPanel();
await lens.goToTimeRange();
await dashboard.saveDashboard(dashboardName);
await dashboard.gotoDashboardLandingPage();
await listingTable.searchAndExpectItemsCount('dashboard', dashboardName, 1);
@ -59,7 +55,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await visualize.gotoVisualizationLandingPage();
await listingTable.searchForItemWithName('Artistpreviouslyknownaslens');
await lens.clickVisualizeListItemTitle('Artistpreviouslyknownaslens');
await lens.goToTimeRange();
await lens.waitForVisualization('legacyMtrVis');
await lens.assertLegacyMetric('Maximum of bytes', '19,986');
};
@ -226,7 +221,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
it('should add a Lens heatmap to the dashboard', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.configureDimension({
dimension: 'lnsXY_xDimensionPanel > lns-empty-dimension',
@ -281,8 +275,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
it('should not display', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.configureDimension({
dimension: 'lnsXY_yDimensionPanel > lns-empty-dimension',
operation: 'average',
@ -330,7 +322,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
it('should not display', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.configureDimension({
dimension: 'lnsXY_yDimensionPanel > lns-empty-dimension',

View file

@ -23,7 +23,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
const createNewLens = async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.configureDimension({
dimension: 'lnsXY_yDimensionPanel > lns-empty-dimension',
@ -39,7 +38,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await visualize.gotoVisualizationLandingPage();
await listingTable.searchForItemWithName('lnsXYvis');
await lens.clickVisualizeListItemTitle('lnsXYvis');
await lens.goToTimeRange();
await lens.waitForVisualization('xyVisChart');
};

View file

@ -31,7 +31,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.switchDataPanelIndexPattern('epoch-millis*');
await lens.goToTimeRange();
await lens.switchToVisualization('lnsDatatable');
const fieldList = await lens.findAllFields();
expect(fieldList).to.contain('@timestamp');

View file

@ -19,7 +19,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
it('should be able to add runtime field and use it', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.switchToVisualization('lnsDatatable');
await retry.try(async () => {
await dataViews.clickAddFieldFromSearchBar();

View file

@ -26,7 +26,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await elasticChart.setNewChartUiDebugFlag(true);
await lens.goToTimeRange();
await lens.configureDimension({
dimension: 'lnsXY_yDimensionPanel > lns-empty-dimension',
@ -164,7 +163,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await elasticChart.setNewChartUiDebugFlag(true);
await lens.goToTimeRange();
await lens.configureDimension({
dimension: 'lnsXY_yDimensionPanel > lns-empty-dimension',
@ -282,7 +280,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await elasticChart.setNewChartUiDebugFlag(true);
await lens.goToTimeRange();
await lens.switchDataPanelIndexPattern(esIndexPrefix);
await lens.configureDimension({

View file

@ -19,7 +19,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await elasticChart.setNewChartUiDebugFlag(true);
await lens.goToTimeRange();
await lens.configureDimension({
dimension: 'lnsXY_xDimensionPanel > lns-empty-dimension',

View file

@ -22,7 +22,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
before(async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await elasticChart.setNewChartUiDebugFlag(true);
await lens.configureDimension({

View file

@ -14,7 +14,6 @@ export default function ({ getPageObjects }: FtrProviderContext) {
it('should allow to pick legacy color palette in xy chart', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.configureDimension({
dimension: 'lnsXY_xDimensionPanel > lns-empty-dimension',
@ -41,7 +40,6 @@ export default function ({ getPageObjects }: FtrProviderContext) {
it('should allow to pick color mapping palette in xy chart', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.configureDimension({
dimension: 'lnsXY_xDimensionPanel > lns-empty-dimension',

View file

@ -61,7 +61,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await dashboardAddPanel.filterEmbeddableNames('Artistpreviouslyknownaslens');
await find.clickByButtonText('Artistpreviouslyknownaslens');
await dashboardAddPanel.closeAddPanel();
await lens.goToTimeRange();
await lens.assertLegacyMetric('Maximum of bytes', '19,986');
});
@ -72,7 +71,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await dashboardAddPanel.filterEmbeddableNames('lnsXYvis');
await find.clickByButtonText('lnsXYvis');
await dashboardAddPanel.closeAddPanel();
await lens.goToTimeRange();
await retry.try(async () => {
await clickInChart(30, 5); // hardcoded position of bar, depends heavy on data and charts implementation
await testSubjects.existOrFail('applyFiltersPopoverButton', { timeout: 2500 });
@ -98,7 +96,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await dashboardAddPanel.filterEmbeddableNames('lnsXYvis');
await find.clickByButtonText('lnsXYvis');
await dashboardAddPanel.closeAddPanel();
await lens.goToTimeRange();
await retry.try(async () => {
// show the tooltip actions
await rightClickInChart(30, 5); // hardcoded position of bar, depends heavy on data and charts implementation
@ -122,7 +119,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await dashboardAddPanel.filterEmbeddableNames('lnsXYvis');
await find.clickByButtonText('lnsXYvis');
await dashboardAddPanel.closeAddPanel();
await lens.goToTimeRange();
await dashboard.saveDashboard('lnsDrilldown');
await panelActions.expectMissingPanelAction(
@ -139,7 +135,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await find.clickByButtonText('lnsPieVis');
await dashboardAddPanel.closeAddPanel();
await lens.goToTimeRange();
await clickInChart(5, 5); // hardcoded position of the slice, depends heavy on data and charts implementation
await lens.assertExactText(
@ -189,7 +184,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await dashboard.clickNewDashboard();
await dashboardAddPanel.clickCreateNewLink();
await header.waitUntilLoadingHasFinished();
await lens.goToTimeRange();
await lens.configureDimension({
dimension: 'lnsXY_xDimensionPanel > lns-empty-dimension',
operation: 'date_histogram',
@ -251,7 +245,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await dashboardAddPanel.clickCreateNewLink();
await header.waitUntilLoadingHasFinished();
await lens.goToTimeRange();
await lens.configureDimension({
dimension: 'lnsXY_xDimensionPanel > lns-empty-dimension',
@ -282,7 +275,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await dashboardAddPanel.filterEmbeddableNames('lnsXYvis');
await find.clickByButtonText('lnsXYvis');
await dashboardAddPanel.closeAddPanel();
await lens.goToTimeRange();
// type an invalid search query, hit refresh
await queryBar.setQuery('this is > not valid');
await queryBar.submitQuery();

View file

@ -17,11 +17,12 @@ import {
} from './tsdb_logsdb_helpers';
export default function ({ getService, getPageObjects }: FtrProviderContext) {
const { common, lens, discover, header } = getPageObjects([
const { common, lens, discover, header, timePicker } = getPageObjects([
'common',
'lens',
'discover',
'header',
'timePicker',
]);
const testSubjects = getService('testSubjects');
const find = getService('find');
@ -65,6 +66,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
after(async () => {
await kibanaServer.savedObjects.cleanStandardList();
await kibanaServer.uiSettings.replace({});
await timePicker.setDefaultAbsoluteRangeViaUiSettings();
await es.indices.delete({ index: [logsdbIndex] });
});
@ -72,7 +74,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
before(async () => {
await common.navigateToApp('lens');
await lens.switchDataPanelIndexPattern(logsdbDataView);
await lens.goToTimeRange();
});
afterEach(async () => {

View file

@ -30,7 +30,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
it('should disable the share button if no request is made', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
expect(await lens.isShareable()).to.eql(false);
});

View file

@ -28,7 +28,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await visualize.gotoVisualizationLandingPage();
await listingTable.searchForItemWithName('lnsXYvis');
await lens.clickVisualizeListItemTitle('lnsXYvis');
await lens.goToTimeRange();
await lens.waitForVisualization('xyVisChart');

View file

@ -34,7 +34,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await visualize.gotoVisualizationLandingPage();
await listingTable.searchForItemWithName('lnsXYvis');
await lens.clickVisualizeListItemTitle('lnsXYvis');
await lens.goToTimeRange();
await lens.save('Embedded Visualization', true, false, false, 'new');
await dashboard.saveDashboard(`Open in Discover Testing ${uuidv4()}`, {

View file

@ -8,14 +8,13 @@
import expect from '@kbn/expect';
import { FtrProviderContext } from '../../../ftr_provider_context';
export default function ({ getService, getPageObjects }: FtrProviderContext) {
export default function ({ getPageObjects }: FtrProviderContext) {
const { visualize, lens } = getPageObjects(['visualize', 'lens']);
describe('time shift', () => {
it('should able to configure a shifted metric', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.switchToVisualization('lnsDatatable');
await lens.configureDimension({
dimension: 'lnsDatatable_rows > lns-empty-dimension',

View file

@ -16,14 +16,23 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
describe('lens drag and drop tests', () => {
describe('basic drag and drop', () => {
it('should construct the basic split xy chart', async () => {
it('should construct a bar chart when dropping a field to create top values chart', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await header.waitUntilLoadingHasFinished();
await lens.dragFieldToWorkspace('machine.os.raw', xyChartContainer);
expect(await lens.getDimensionTriggerText('lnsXY_xDimensionPanel')).to.eql(
'Top 5 values of machine.os.raw'
);
expect(await lens.getChartTypeFromChartSwitcher()).to.eql('Bar');
});
it('should construct a bar chart when dropping a time field to create a date histogram chart', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await header.waitUntilLoadingHasFinished();
await lens.dragFieldToWorkspace('@timestamp', xyChartContainer);
expect(await lens.getDimensionTriggerText('lnsXY_xDimensionPanel')).to.eql('@timestamp');
expect(await lens.getChartTypeFromChartSwitcher()).to.eql('Bar');
});
it('should allow dropping fields to existing and empty dimension triggers', async () => {
@ -224,7 +233,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
it('should drop a field to workspace', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await header.waitUntilLoadingHasFinished();
await lens.dragFieldWithKeyboard('@timestamp');
expect(await lens.getDimensionTriggerText('lnsXY_xDimensionPanel')).to.eql('@timestamp');
@ -300,7 +308,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
it('should always nest time dimension in categorical dimension', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await header.waitUntilLoadingHasFinished();
await lens.dragFieldToWorkspace('@timestamp', xyChartContainer);
await lens.waitForVisualization(xyChartContainer);
@ -330,7 +337,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await visualize.gotoVisualizationLandingPage();
await listingTable.searchForItemWithName('lnsXYvis');
await lens.clickVisualizeListItemTitle('lnsXYvis');
await lens.goToTimeRange();
await lens.createLayer('data');
@ -410,7 +416,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await visualize.gotoVisualizationLandingPage();
await listingTable.searchForItemWithName('lnsXYvis');
await lens.clickVisualizeListItemTitle('lnsXYvis');
await lens.goToTimeRange();
await lens.createLayer('data');
await lens.dragFieldToDimensionTrigger(

View file

@ -23,7 +23,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await visualize.gotoVisualizationLandingPage();
await listingTable.searchForItemWithName('lnsXYvis');
await lens.clickVisualizeListItemTitle('lnsXYvis');
await lens.goToTimeRange();
await lens.configureDimension({
dimension: 'lnsXY_yDimensionPanel > lns-dimensionTrigger',
@ -43,7 +42,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
it('should update and delete a formula', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.switchToVisualization('lnsDatatable');
await lens.configureDimension({
@ -64,7 +63,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
it('should insert single quotes and escape when needed to create valid KQL', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.switchToVisualization('lnsDatatable');
await lens.configureDimension({
@ -96,7 +95,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
it('should insert single quotes and escape when needed to create valid field name', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.switchToVisualization('lnsDatatable');
await dataViews.clickAddFieldFromSearchBar();
await fieldEditor.setName(`ab' "'`, true, true);
@ -127,7 +126,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
it('should persist a broken formula on close', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.switchToVisualization('lnsDatatable');
// Close immediately
@ -145,7 +144,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
it('should keep the formula when entering expanded mode', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.switchToVisualization('lnsDatatable');
await lens.configureDimension({
@ -164,7 +163,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
it('should allow an empty formula combined with a valid formula', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.switchToVisualization('lnsDatatable');
await lens.configureDimension({
@ -184,7 +183,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
it('should duplicate a moving average formula and be a valid table with conditional coloring', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.switchToVisualization('lnsDatatable');
await lens.configureDimension({
@ -219,7 +218,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
it('should keep the formula if the user does not fully transition to a quick function', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.switchToVisualization('lnsDatatable');
await lens.configureDimension({
@ -240,7 +239,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
it('should keep the formula if the user does not fully transition to a static value', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.configureDimension({
dimension: 'lnsXY_yDimensionPanel > lns-empty-dimension',
@ -269,7 +267,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
it('should allow numeric only formulas', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.switchToVisualization('lnsDatatable');
await lens.configureDimension({
@ -289,7 +287,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
it('should apply a global filter to the current formula', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.switchToVisualization('lnsDatatable');
await lens.configureDimension({

View file

@ -10,13 +10,12 @@ import expect from '@kbn/expect';
import { FtrProviderContext } from '../../../ftr_provider_context';
export default function ({ getService, getPageObjects }: FtrProviderContext) {
const { visualize, lens, timePicker } = getPageObjects(['visualize', 'lens', 'timePicker']);
const { visualize, lens } = getPageObjects(['visualize', 'lens']);
const elasticChart = getService('elasticChart');
const testSubjects = getService('testSubjects');
describe('lens gauge', () => {
before(async () => {
await timePicker.setDefaultAbsoluteRangeViaUiSettings();
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await elasticChart.setNewChartUiDebugFlag(true);

View file

@ -9,12 +9,13 @@ import expect from '@kbn/expect';
import { FtrProviderContext } from '../../../ftr_provider_context';
export default function ({ getPageObjects }: FtrProviderContext) {
const { visualize, lens, header, maps, common } = getPageObjects([
const { visualize, lens, header, maps, common, timePicker } = getPageObjects([
'visualize',
'lens',
'header',
'maps',
'common',
'timePicker',
]);
const from = 'Sep 22, 2015 @ 00:00:00.000';
const to = 'Sep 22, 2015 @ 04:00:00.000';
@ -25,7 +26,7 @@ export default function ({ getPageObjects }: FtrProviderContext) {
});
after(async () => {
await common.unsetTime();
await timePicker.setDefaultAbsoluteRangeViaUiSettings();
});
it('should visualize geo fields in maps', async () => {

View file

@ -19,7 +19,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await elasticChart.setNewChartUiDebugFlag(true);
await lens.goToTimeRange();
await lens.configureDimension({
dimension: 'lnsXY_xDimensionPanel > lns-empty-dimension',

View file

@ -23,7 +23,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await elasticChart.setNewChartUiDebugFlag(true);
await lens.goToTimeRange();
await lens.switchToVisualization('lnsTagcloud', 'Tag cloud');
await lens.configureDimension({

View file

@ -9,28 +9,14 @@ import expect from '@kbn/expect';
import { FtrProviderContext } from '../../../ftr_provider_context';
export default function ({ getService, getPageObjects }: FtrProviderContext) {
const { visualize, lens, common, tagManagement } = getPageObjects([
'visualize',
'lens',
'common',
'tagManagement',
]);
const { visualize, lens, tagManagement } = getPageObjects(['visualize', 'lens', 'tagManagement']);
const find = getService('find');
const retry = getService('retry');
const toastsService = getService('toasts');
const testSubjects = getService('testSubjects');
const listingTable = getService('listingTable');
const from = 'Sep 19, 2015 @ 06:31:44.000';
const to = 'Sep 23, 2015 @ 18:31:44.000';
describe('lens annotations tests', () => {
before(async () => {
await common.setTime({ from, to });
});
after(async () => {
await common.unsetTime();
});
it('should show a disabled annotation layer button if there is no date histogram in data layer', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
@ -46,7 +32,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
it('should add manual annotation layer with static date and allow edition', async () => {
await lens.removeLayer();
await lens.goToTimeRange();
await lens.dragFieldToWorkspace('@timestamp', 'xyVisChart');
await lens.createLayer('annotations');
@ -117,8 +102,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
it('should save annotation group to library', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.dragFieldToWorkspace('@timestamp', 'xyVisChart');
await lens.createLayer('annotations');
@ -166,8 +149,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
it('should add annotation group from library', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.dragFieldToWorkspace('@timestamp', 'xyVisChart');
await lens.createLayer('annotations', ANNOTATION_GROUP_TITLE);

View file

@ -47,8 +47,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
});
it('should preserve apply-changes button with full-screen datasource', async () => {
await lens.goToTimeRange();
await lens.disableAutoApply();
await lens.closeSettingsMenu();

View file

@ -18,7 +18,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await elasticChart.setNewChartUiDebugFlag(true);
await lens.goToTimeRange();
await lens.configureDimension({
dimension: 'lnsXY_xDimensionPanel > lns-empty-dimension',

View file

@ -20,7 +20,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await visualize.gotoVisualizationLandingPage();
await listingTable.searchForItemWithName('Artistpreviouslyknownaslens');
await lens.clickVisualizeListItemTitle('Artistpreviouslyknownaslens');
await lens.goToTimeRange();
await lens.assertLegacyMetric('Maximum of bytes', '19,986');
});

View file

@ -43,7 +43,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
after(async () => {
await kibanaServer.savedObjects.cleanStandardList();
await timePicker.resetDefaultAbsoluteRangeViaUiSettings();
await timePicker.setDefaultAbsoluteRangeViaUiSettings();
await es.deleteByQuery({
index: '.reporting-*',
refresh: true,
@ -78,7 +78,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await visualize.gotoVisualizationLandingPage();
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.configureDimension({
dimension: 'lnsXY_xDimensionPanel > lns-empty-dimension',

View file

@ -16,13 +16,12 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
const find = getService('find');
const dashboardAddPanel = getService('dashboardAddPanel');
const dashboardPanelActions = getService('dashboardPanelActions');
const { tagManagement, header, dashboard, visualize, lens, timePicker } = getPageObjects([
const { tagManagement, header, dashboard, visualize, lens } = getPageObjects([
'tagManagement',
'header',
'dashboard',
'visualize',
'lens',
'timePicker',
]);
const lensTag = 'extreme-lens-tag';
@ -31,20 +30,14 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
describe('lens tagging', () => {
before(async () => {
await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/logstash_functional');
await timePicker.setDefaultAbsoluteRangeViaUiSettings();
await dashboard.navigateToApp();
await dashboard.preserveCrossAppState();
await dashboard.clickNewDashboard();
});
after(async () => {
await timePicker.setDefaultAbsoluteRangeViaUiSettings();
});
it('adds a new tag to a Lens visualization', async () => {
// create lens
await dashboardAddPanel.clickCreateNewLink();
await lens.goToTimeRange();
await lens.configureDimension({
dimension: 'lnsXY_xDimensionPanel > lns-empty-dimension',
operation: 'date_histogram',

View file

@ -76,7 +76,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
it('should render a metric', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.switchToVisualization('lnsMetric', 'Metric');
@ -349,7 +348,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
it('does carry custom formatting when transitioning from other visualization', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.switchToVisualization('lnsLegacyMetric');
// await lens.clickLegacyMetric();

View file

@ -29,8 +29,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
});
it('should add a reference layer with a static value in it', async () => {
await lens.goToTimeRange();
await lens.configureDimension({
dimension: 'lnsXY_xDimensionPanel > lns-empty-dimension',
operation: 'date_histogram',

View file

@ -9,7 +9,7 @@ import expect from '@kbn/expect';
import { FtrProviderContext } from '../../../ftr_provider_context';
export default function ({ getService, getPageObjects }: FtrProviderContext) {
const { visualize, lens, timePicker } = getPageObjects(['visualize', 'lens', 'timePicker']);
const { visualize, lens } = getPageObjects(['visualize', 'lens']);
const find = getService('find');
const listingTable = getService('listingTable');
const esArchiver = getService('esArchiver');
@ -22,20 +22,16 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await kibanaServer.importExport.load(
'x-pack/test/functional/fixtures/kbn_archiver/rollup/config.json'
);
await timePicker.setDefaultAbsoluteRangeViaUiSettings();
});
after(async () => {
await esArchiver.unload('x-pack/test/functional/es_archives/lens/rollup/data');
await kibanaServer.savedObjects.cleanStandardList();
await timePicker.resetDefaultAbsoluteRangeViaUiSettings();
});
it('should allow creation of lens xy chart', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.configureDimension({
dimension: 'lnsXY_xDimensionPanel > lns-empty-dimension',
operation: 'date_histogram',
@ -62,8 +58,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await visualize.gotoVisualizationLandingPage();
await listingTable.searchForItemWithName('Afancilenstest');
await lens.clickVisualizeListItemTitle('Afancilenstest');
await lens.goToTimeRange();
expect(await lens.getTitle()).to.eql('Afancilenstest');
// .echLegendItem__title is the only viable way of getting the xy chart's
@ -82,7 +76,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
it('should allow to switch from regular index to rollup index retaining config', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.switchDataPanelIndexPattern('lens_regular_data');
await lens.switchToVisualization('lnsLegacyMetric');
await lens.configureDimension({

View file

@ -44,7 +44,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
// Detect here if the Chrome bug is present, and adjust the aspect ratio accordingly if not
if (!within(width, DEFAULT_WINDOW_SIZE[0]) || !within(height, DEFAULT_WINDOW_SIZE[1])) {
const { width: containerWidth, height: containerHeight } =

View file

@ -10,10 +10,9 @@ import expect from '@kbn/expect';
import { FtrProviderContext } from '../../../../ftr_provider_context';
export default function ({ getPageObjects, getService }: FtrProviderContext) {
const { visualize, lens, timePicker, visEditor, visChart } = getPageObjects([
const { visualize, lens, visEditor, visChart } = getPageObjects([
'visualize',
'lens',
'timePicker',
'visEditor',
'visChart',
]);
@ -30,7 +29,6 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
await visualize.navigateToNewAggBasedVisualization();
await visualize.clickGauge();
await visualize.clickNewSearch();
await timePicker.setDefaultAbsoluteRange();
await elasticChart.setNewChartUiDebugFlag(true);
});

View file

@ -9,11 +9,10 @@ import expect from '@kbn/expect';
import { FtrProviderContext } from '../../../../ftr_provider_context';
export default function ({ getPageObjects, getService }: FtrProviderContext) {
const { visualize, lens, visChart, timePicker, visEditor } = getPageObjects([
const { visualize, lens, visChart, visEditor } = getPageObjects([
'visualize',
'lens',
'visChart',
'timePicker',
'visEditor',
]);
@ -28,7 +27,6 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
await visualize.navigateToNewAggBasedVisualization();
await visualize.clickGoal();
await visualize.clickNewSearch();
await timePicker.setDefaultAbsoluteRange();
});
it('should show the "Edit Visualization in Lens" menu item', async () => {

View file

@ -9,11 +9,10 @@ import expect from '@kbn/expect';
import { FtrProviderContext } from '../../../../ftr_provider_context';
export default function ({ getPageObjects }: FtrProviderContext) {
const { visualize, lens, visChart, timePicker, visEditor } = getPageObjects([
const { visualize, lens, visChart, visEditor } = getPageObjects([
'visualize',
'lens',
'visChart',
'timePicker',
'visEditor',
]);
@ -26,7 +25,6 @@ export default function ({ getPageObjects }: FtrProviderContext) {
await visualize.navigateToNewAggBasedVisualization();
await visualize.clickHeatmapChart();
await visualize.clickNewSearch();
await timePicker.setDefaultAbsoluteRange();
});
it('should show the "Edit Visualization in Lens" menu item if no X-axis was specified', async () => {

View file

@ -53,11 +53,11 @@ export default function ({ loadTestFile, getService, getPageObjects }: FtrProvid
await esNode.load(esArchive);
// changing the timepicker default here saves us from having to set it in Discover (~8s)
await timePicker.setDefaultAbsoluteRangeViaUiSettings();
await kibanaServer.uiSettings.update({
defaultIndex: indexPatternString,
'dateFormat:tz': 'UTC',
});
await timePicker.setDefaultAbsoluteRangeViaUiSettings();
await kibanaServer.importExport.load(fixtureDirs.lensBasic);
await kibanaServer.importExport.load(fixtureDirs.lensDefault);
});

View file

@ -9,7 +9,7 @@ import expect from '@kbn/expect';
import { FtrProviderContext } from '../../../../ftr_provider_context';
export default function ({ getPageObjects, getService }: FtrProviderContext) {
const { visEditor, visualize, lens, timePicker, visChart } = getPageObjects([
const { visEditor, visualize, lens, visChart, timePicker } = getPageObjects([
'visEditor',
'visualize',
'visChart',

View file

@ -9,7 +9,7 @@ import expect from '@kbn/expect';
import { FtrProviderContext } from '../../../../ftr_provider_context';
export default function ({ getPageObjects, getService }: FtrProviderContext) {
const { visualize, lens, timePicker } = getPageObjects(['visualize', 'lens', 'timePicker']);
const { visualize, lens } = getPageObjects(['visualize', 'lens']);
const testSubjects = getService('testSubjects');
const retry = getService('retry');
@ -20,7 +20,6 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
await visualize.navigateToNewAggBasedVisualization();
await visualize.clickLineChart();
await visualize.clickNewSearch();
await timePicker.setDefaultAbsoluteRange();
});
it('should let the user return back to Visualize if no changes were made', async () => {

View file

@ -9,11 +9,10 @@ import expect from '@kbn/expect';
import { FtrProviderContext } from '../../../../ftr_provider_context';
export default function ({ getPageObjects, getService }: FtrProviderContext) {
const { visualize, visEditor, lens, timePicker, header } = getPageObjects([
const { visualize, visEditor, lens, header } = getPageObjects([
'visualize',
'lens',
'visEditor',
'timePicker',
'header',
]);
@ -29,7 +28,6 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
await visualize.navigateToNewAggBasedVisualization();
await visualize.clickPieChart();
await visualize.clickNewSearch();
await timePicker.setDefaultAbsoluteRange();
});
it('should hide the "Edit Visualization in Lens" menu item if no split slices were defined', async () => {

View file

@ -9,11 +9,10 @@ import expect from '@kbn/expect';
import { FtrProviderContext } from '../../../../ftr_provider_context';
export default function ({ getPageObjects, getService }: FtrProviderContext) {
const { visualize, visEditor, lens, timePicker, header } = getPageObjects([
const { visualize, visEditor, lens, header } = getPageObjects([
'visualize',
'lens',
'visEditor',
'timePicker',
'header',
]);
@ -29,7 +28,6 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
await visualize.navigateToNewAggBasedVisualization();
await visualize.clickDataTable();
await visualize.clickNewSearch();
await timePicker.setDefaultAbsoluteRange();
});
it('should not allow converting of unsupported aggregations', async () => {

View file

@ -9,11 +9,10 @@ import expect from '@kbn/expect';
import { FtrProviderContext } from '../../../../ftr_provider_context';
export default function ({ getPageObjects, getService }: FtrProviderContext) {
const { visualize, visEditor, lens, timePicker, header, visChart } = getPageObjects([
const { visualize, visEditor, lens, header, visChart } = getPageObjects([
'visualize',
'lens',
'visEditor',
'timePicker',
'header',
'visChart',
]);
@ -30,7 +29,6 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
await visualize.navigateToNewAggBasedVisualization();
await visualize.clickLineChart();
await visualize.clickNewSearch();
await timePicker.setDefaultAbsoluteRange();
});
it('should show the "Edit Visualization in Lens" menu item', async () => {

View file

@ -915,6 +915,10 @@ export function LensPageProvider({ getService, getPageObjects }: FtrProviderCont
}
});
},
async getChartTypeFromChartSwitcher() {
const chartSwitcher = await testSubjects.find('lnsChartSwitchPopover');
return await chartSwitcher.getVisibleText();
},
async openChartSwitchPopover(layerIndex = 0) {
if (await testSubjects.exists('lnsChartSwitchList', { timeout: 50 })) {

View file

@ -17,7 +17,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await elasticChart.setNewChartUiDebugFlag(true);
await lens.goToTimeRange();
await lens.configureDimension({
dimension: 'lnsXY_yDimensionPanel > lns-empty-dimension',

View file

@ -170,7 +170,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
it('should allow creation of lens xy chart', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.configureDimension({
dimension: 'lnsXY_xDimensionPanel > lns-empty-dimension',
@ -207,7 +206,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await visualize.gotoVisualizationLandingPage();
await listingTable.searchForItemWithName('Afancilenstest');
await lens.clickVisualizeListItemTitle('Afancilenstest');
await lens.goToTimeRange();
await lens.waitForVisualization('xyVisChart');
expect(await lens.getTitle()).to.eql('Afancilenstest');
@ -222,7 +220,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await visualize.gotoVisualizationLandingPage();
await listingTable.searchForItemWithName('lnsXYvis');
await lens.clickVisualizeListItemTitle('lnsXYvis');
await lens.goToTimeRange();
// Change the IP field to filters
await lens.configureDimension({
dimension: 'lnsXY_splitDimensionPanel > lns-dimensionTrigger',
@ -241,7 +238,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await visualize.gotoVisualizationLandingPage();
await listingTable.searchForItemWithName('Artistpreviouslyknownaslens');
await lens.clickVisualizeListItemTitle('Artistpreviouslyknownaslens');
await lens.goToTimeRange();
await lens.assertLegacyMetric(termTranslator('max', 'bytes'), '19,986');
await lens.switchToVisualization('lnsDatatable', termTranslator('datatable'));
expect(await lens.getDatatableHeaderText()).to.eql(termTranslator('max', 'bytes'));
@ -253,7 +249,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
it('should transition from a multi-layer stacked bar to a multi-layer line chart and correctly remove all layers', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.configureDimension({
dimension: 'lnsXY_xDimensionPanel > lns-empty-dimension',
@ -297,7 +292,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
it('should transition selected layer in a multi layer bar using layer chart switch', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.configureDimension({
dimension: 'lnsXY_xDimensionPanel > lns-empty-dimension',
@ -345,7 +339,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await visualize.gotoVisualizationLandingPage();
await listingTable.searchForItemWithName('lnsXYvis');
await lens.clickVisualizeListItemTitle('lnsXYvis');
await lens.goToTimeRange();
await lens.removeDimension('lnsXY_splitDimensionPanel');
await lens.switchToVisualization('line', termTranslator('line'));
await lens.configureDimension({
@ -403,7 +396,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await elasticChart.setNewChartUiDebugFlag(true);
await lens.goToTimeRange();
await lens.switchToVisualization('bar', termTranslator('bar'));
await lens.configureDimension({
@ -479,7 +471,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await visualize.gotoVisualizationLandingPage();
await listingTable.searchForItemWithName('lnsXYvis');
await lens.clickVisualizeListItemTitle('lnsXYvis');
await lens.goToTimeRange();
expect(await lens.hasChartSwitchWarning('pie', termTranslator('pie'))).to.eql(true);
await lens.switchToVisualization('pie', termTranslator('pie'));
@ -506,7 +497,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await visualize.gotoVisualizationLandingPage();
await listingTable.searchForItemWithName('lnsXYvis');
await lens.clickVisualizeListItemTitle('lnsXYvis');
await lens.goToTimeRange();
await lens.switchToVisualization('line', termTranslator('line'));
expect(await lens.getTitle()).to.eql('lnsXYvis');
expect(await lens.getDimensionTriggerText('lnsXY_xDimensionPanel')).to.eql('@timestamp');
@ -522,7 +512,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await visualize.gotoVisualizationLandingPage();
await listingTable.searchForItemWithName('lnsPieVis');
await lens.clickVisualizeListItemTitle('lnsPieVis');
await lens.goToTimeRange();
expect(await lens.hasChartSwitchWarning('treemap', termTranslator('treemap'))).to.eql(false);
await lens.switchToVisualization('treemap', termTranslator('treemap'));
expect(await lens.getDimensionTriggersTexts('lnsPie_groupByDimensionPanel')).to.eql([
@ -537,7 +526,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
it('should create a pie chart and switch to datatable', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.switchToVisualization('pie', termTranslator('pie'));
await lens.configureDimension({
dimension: 'lnsPie_sliceByDimensionPanel > lns-empty-dimension',
@ -567,7 +555,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
it('should create a heatmap chart and transition to barchart', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.switchToVisualization('heatmap', termTranslator('heatmap'));
await lens.configureDimension({
@ -596,7 +583,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
it('should create a valid XY chart with references', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.configureDimension({
dimension: 'lnsXY_xDimensionPanel > lns-empty-dimension',
@ -631,7 +617,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
it('should allow formatting on references', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.switchToVisualization('lnsDatatable', termTranslator('datatable'));
await lens.configureDimension({
@ -677,7 +662,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
it('should handle edge cases in reference-based operations', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.configureDimension({
dimension: 'lnsXY_xDimensionPanel > lns-empty-dimension',
@ -713,7 +697,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
it('should keep the field selection while transitioning to every reference-based operation', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.configureDimension({
dimension: 'lnsXY_xDimensionPanel > lns-empty-dimension',
@ -748,7 +731,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
it('should not leave an incomplete column in the visualization config with field-based operation', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.configureDimension({
dimension: 'lnsXY_yDimensionPanel > lns-empty-dimension',
@ -761,7 +743,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
it('should revert to previous configuration and not leave an incomplete column in the visualization config with reference-based operations', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.configureDimension({
dimension: 'lnsXY_xDimensionPanel > lns-empty-dimension',
@ -797,7 +778,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
it('should transition from unique count to last value', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.configureDimension({
dimension: 'lnsXY_yDimensionPanel > lns-empty-dimension',
@ -828,7 +808,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
it('should allow filtering by legend on an xy chart', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.configureDimension({
dimension: 'lnsXY_xDimensionPanel > lns-empty-dimension',
@ -858,7 +837,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
it('should allow filtering by legend on a pie chart', async () => {
await visualize.navigateToNewVisualization();
await visualize.clickVisType('lens');
await lens.goToTimeRange();
await lens.switchToVisualization('pie', termTranslator('pie'));
await lens.configureDimension({