Fix issue with disabled lab mode (#16351)

* Fix saved object finder issue

* Add functional test
This commit is contained in:
Tim Roes 2018-01-30 09:56:37 +01:00 committed by GitHub
parent 0d400a5462
commit 232b267510
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 50 additions and 1 deletions

View file

@ -267,7 +267,7 @@ module.directive('savedObjectFinder', function ($location, $injector, kbnUrl, Pr
self.service.find(filter)
.then(function (hits) {
hits.hits = hits.hits.filter((hit) => (isLabsEnabled || hit.type.stage !== 'lab'));
hits.hits = hits.hits.filter((hit) => (isLabsEnabled || _.get(hit, 'type.stage') !== 'lab'));
hits.total = hits.hits.length;
// ensure that we don't display old results

View file

@ -0,0 +1,36 @@
import expect from 'expect.js';
export default function ({ getService, getPageObjects }) {
const log = getService('log');
const PageObjects = getPageObjects(['common', 'header', 'discover', 'settings']);
describe('visualize lab mode', () => {
it('disabling does not break loading saved searches', async () => {
await PageObjects.common.navigateToUrl('discover', '');
await PageObjects.discover.saveSearch('visualize_lab_mode_test');
const hasSaved = await PageObjects.discover.hasSavedSearch('visualize_lab_mode_test');
expect(hasSaved).to.be(true);
log.info('found saved search before toggling enableLabs mode');
// Navigate to advanced setting and disable lab mode
await PageObjects.header.clickManagement();
await PageObjects.settings.clickKibanaSettings();
await PageObjects.settings.toggleAdvancedSettingCheckbox('visualize:enableLabs');
// Expect the discover still to list that saved visualization in the open list
await PageObjects.header.clickDiscover();
const stillHasSaved = await PageObjects.discover.hasSavedSearch('visualize_lab_mode_test');
expect(stillHasSaved).to.be(true);
log.info('found saved search after toggling enableLabs mode');
});
after(async () => {
await PageObjects.header.clickManagement();
await PageObjects.settings.clickKibanaSettings();
await PageObjects.settings.clearAdvancedSettings('visualize:enableLabs');
});
});
}

View file

@ -33,5 +33,6 @@ export default function ({ getService, loadTestFile }) {
loadTestFile(require.resolve('./_input_control_vis'));
loadTestFile(require.resolve('./_histogram_request_start'));
loadTestFile(require.resolve('./_vega_chart'));
loadTestFile(require.resolve('./_lab_mode'));
});
}

View file

@ -53,6 +53,12 @@ export function DiscoverPageProvider({ getService, getPageObjects }) {
return await Promise.all(headerElements.map(el => el.getVisibleText()));
}
async hasSavedSearch(searchName) {
await this.clickLoadSavedSearchButton();
const searchLink = await find.byPartialLinkText(searchName);
return searchLink.isDisplayed();
}
async loadSavedSearch(searchName) {
await this.clickLoadSavedSearchButton();
const searchLink = await find.byPartialLinkText(searchName);

View file

@ -37,6 +37,12 @@ export function HeaderPageProvider({ getService, getPageObjects }) {
await this.isGlobalLoadingIndicatorHidden();
}
async clickManagement() {
log.debug('click Management tab');
await this.clickSelector('a[href*=\'management\']');
await this.isGlobalLoadingIndicatorHidden();
}
async clickSettings() {
log.debug('click Settings tab');
await this.clickSelector('a[href*=\'settings\']');