mirror of
https://github.com/elastic/kibana.git
synced 2025-04-23 09:19:04 -04:00
visual builder should set vis.initialized when ready (#13779)
* tsvb needs to set vis.initialized * adding visual builder integration test
This commit is contained in:
parent
220b39f7ec
commit
a62bfe82ee
7 changed files with 84 additions and 0 deletions
|
@ -15,6 +15,7 @@ function ReactEditorControllerProvider(Private, localStorage, config) {
|
|||
|
||||
const autoApply = localStorage.get(AUTO_APPLY_KEY);
|
||||
vis.autoApply = autoApply != null ? autoApply : true;
|
||||
vis.initialized = true;
|
||||
}
|
||||
|
||||
render(visData) {
|
||||
|
|
47
test/functional/apps/visualize/_tsvb_chart.js
Normal file
47
test/functional/apps/visualize/_tsvb_chart.js
Normal file
|
@ -0,0 +1,47 @@
|
|||
import expect from 'expect.js';
|
||||
|
||||
export default function ({ getService, getPageObjects }) {
|
||||
const log = getService('log');
|
||||
const PageObjects = getPageObjects(['common', 'visualize', 'header', 'settings', 'visualBuilder']);
|
||||
|
||||
describe('visualize app', function describeIndexTests() {
|
||||
before(function () {
|
||||
const fromTime = '2015-09-19 06:31:44.000';
|
||||
const toTime = '2015-09-22 18:31:44.000';
|
||||
|
||||
log.debug('navigateToApp visualize');
|
||||
return PageObjects.common.navigateToUrl('visualize', 'new')
|
||||
.then(function () {
|
||||
log.debug('clickVisualBuilderChart');
|
||||
return PageObjects.visualize.clickVisualBuilder();
|
||||
})
|
||||
.then(function setAbsoluteRange() {
|
||||
log.debug('Set absolute time range from \"' + fromTime + '\" to \"' + toTime + '\"');
|
||||
return PageObjects.header.setAbsoluteRange(fromTime, toTime);
|
||||
})
|
||||
.then(function () {
|
||||
return PageObjects.header.waitUntilLoadingHasFinished();
|
||||
})
|
||||
.then(function sleep() {
|
||||
return PageObjects.common.sleep(1003);
|
||||
})
|
||||
.then(function clickMetric() {
|
||||
return PageObjects.visualBuilder.clickMetric();
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
describe('Visual Builder chart', function indexPatternCreation() {
|
||||
|
||||
it('should show correct data', function () {
|
||||
const expectedMetricValue = '156';
|
||||
|
||||
return PageObjects.visualBuilder.getMetricValue()
|
||||
.then(function (value) {
|
||||
log.debug(`metric value: ${value}`);
|
||||
expect(value).to.eql(expectedMetricValue);
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
|
@ -28,6 +28,7 @@ export default function ({ getService, loadTestFile }) {
|
|||
loadTestFile(require.resolve('./_heatmap_chart'));
|
||||
loadTestFile(require.resolve('./_point_series_options'));
|
||||
loadTestFile(require.resolve('./_markdown_vis'));
|
||||
loadTestFile(require.resolve('./_tsvb_chart'));
|
||||
loadTestFile(require.resolve('./_shared_item'));
|
||||
});
|
||||
}
|
||||
|
|
|
@ -10,6 +10,7 @@ import {
|
|||
SettingsPageProvider,
|
||||
MonitoringPageProvider,
|
||||
PointSeriesPageProvider,
|
||||
VisualBuilderPageProvider,
|
||||
} from './page_objects';
|
||||
|
||||
import {
|
||||
|
@ -48,6 +49,7 @@ export default async function ({ readConfigFile }) {
|
|||
settings: SettingsPageProvider,
|
||||
monitoring: MonitoringPageProvider,
|
||||
pointSeries: PointSeriesPageProvider,
|
||||
visualBuilder: VisualBuilderPageProvider,
|
||||
},
|
||||
services: {
|
||||
es: commonConfig.get('services.es'),
|
||||
|
|
|
@ -9,3 +9,4 @@ export { VisualizePageProvider } from './visualize_page';
|
|||
export { SettingsPageProvider } from './settings_page';
|
||||
export { MonitoringPageProvider } from './monitoring_page';
|
||||
export { PointSeriesPageProvider } from './point_series_page';
|
||||
export { VisualBuilderPageProvider } from './visual_builder_page';
|
||||
|
|
28
test/functional/page_objects/visual_builder_page.js
Normal file
28
test/functional/page_objects/visual_builder_page.js
Normal file
|
@ -0,0 +1,28 @@
|
|||
export function VisualBuilderPageProvider({ getService }) {
|
||||
const config = getService('config');
|
||||
const find = getService('find');
|
||||
const log = getService('log');
|
||||
|
||||
const defaultFindTimeout = config.get('timeouts.find');
|
||||
|
||||
class VisualBuilderPage {
|
||||
async clickMetric() {
|
||||
const nav = await find.allByCssSelector('.vis_editor__vis_picker-label', defaultFindTimeout);
|
||||
log.debug('found navigation items: ' + nav.length);
|
||||
await Promise.all(nav.map(async function (link) {
|
||||
const text = await link.getVisibleText();
|
||||
log.debug('nav text:' + text);
|
||||
if (text === 'Metric') {
|
||||
await link.click();
|
||||
}
|
||||
}));
|
||||
}
|
||||
|
||||
async getMetricValue() {
|
||||
const metricValue = await find.byCssSelector('.rhythm_metric__primary-value');
|
||||
return metricValue.getVisibleText();
|
||||
}
|
||||
}
|
||||
|
||||
return new VisualBuilderPage();
|
||||
}
|
|
@ -54,6 +54,10 @@ export function VisualizePageProvider({ getService, getPageObjects }) {
|
|||
await find.clickByPartialLinkText('Tag Cloud');
|
||||
}
|
||||
|
||||
async clickVisualBuilder() {
|
||||
await find.clickByPartialLinkText('Visual Builder');
|
||||
}
|
||||
|
||||
async getTextTag() {
|
||||
const elements = await find.allByCssSelector('text');
|
||||
return await Promise.all(elements.map(async element => await element.getVisibleText()));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue