Skip to content

Commit

Permalink
[6.x] Fix issue with disabled lab mode (elastic#16351) | Properly wai…
Browse files Browse the repository at this point in the history
…t for search list to load (elastic#16388) (elastic#16394)

* Fix issue with disabled lab mode (elastic#16351)

* Fix saved object finder issue

* Add functional test

* Properly wait for search list to load (elastic#16388)
  • Loading branch information
timroes authored Jan 30, 2018
1 parent 1d0c16e commit eceb08d
Show file tree
Hide file tree
Showing 5 changed files with 51 additions and 1 deletion.
2 changes: 1 addition & 1 deletion src/ui/public/directives/saved_object_finder.js
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
36 changes: 36 additions & 0 deletions test/functional/apps/visualize/_lab_mode.js
Original file line number Diff line number Diff line change
@@ -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');
});

});
}
1 change: 1 addition & 0 deletions test/functional/apps/visualize/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -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'));
});
}
7 changes: 7 additions & 0 deletions test/functional/page_objects/discover_page.js
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,13 @@ export function DiscoverPageProvider({ getService, getPageObjects }) {
return await Promise.all(headerElements.map(el => el.getVisibleText()));
}

async hasSavedSearch(searchName) {
await this.clickLoadSavedSearchButton();
await PageObjects.header.waitUntilLoadingHasFinished();
const searchLink = await find.byPartialLinkText(searchName);
return searchLink.isDisplayed();
}

async loadSavedSearch(searchName) {
await this.clickLoadSavedSearchButton();
const searchLink = await find.byPartialLinkText(searchName);
Expand Down
6 changes: 6 additions & 0 deletions test/functional/page_objects/header_page.js
Original file line number Diff line number Diff line change
Expand Up @@ -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\']');
Expand Down

0 comments on commit eceb08d

Please sign in to comment.