mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 09:48:58 -04:00
[Discover] Allow user to generate a report after saving a modified saved search (#63623)
* Fix missing reset of initial state when saving saved searches * Fix invalid setting of docTitle * Add functional test
This commit is contained in:
parent
86922e80a8
commit
d69b1a0e39
2 changed files with 25 additions and 2 deletions
|
@ -57,7 +57,6 @@ const {
|
|||
core,
|
||||
chrome,
|
||||
data,
|
||||
docTitle,
|
||||
history,
|
||||
indexPatterns,
|
||||
filterManager,
|
||||
|
@ -214,6 +213,7 @@ function discoverController(
|
|||
isAppStateDirty,
|
||||
kbnUrlStateStorage,
|
||||
getPreviousAppState,
|
||||
resetInitialAppState,
|
||||
} = getState({
|
||||
defaultAppState: getStateDefaults(),
|
||||
storeInSessionStorage: config.get('state:storeInSessionStorage'),
|
||||
|
@ -373,6 +373,8 @@ function discoverController(
|
|||
// If the save wasn't successful, put the original values back.
|
||||
if (!response.id || response.error) {
|
||||
savedSearch.title = currentTitle;
|
||||
} else {
|
||||
resetInitialAppState();
|
||||
}
|
||||
return response;
|
||||
});
|
||||
|
@ -758,7 +760,7 @@ function discoverController(
|
|||
} else {
|
||||
// Update defaults so that "reload saved query" functions correctly
|
||||
setAppState(getStateDefaults());
|
||||
docTitle.change(savedSearch.lastSavedTitle);
|
||||
chrome.docTitle.change(savedSearch.lastSavedTitle);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
|
@ -24,6 +24,7 @@ export default function({ getService, getPageObjects }) {
|
|||
const browser = getService('browser');
|
||||
const log = getService('log');
|
||||
const config = getService('config');
|
||||
const filterBar = getService('filterBar');
|
||||
const PageObjects = getPageObjects([
|
||||
'reporting',
|
||||
'common',
|
||||
|
@ -161,7 +162,27 @@ export default function({ getService, getPageObjects }) {
|
|||
expect(await PageObjects.reporting.isGenerateReportButtonDisabled()).to.be(null);
|
||||
});
|
||||
|
||||
it('becomes available/not available when a saved search is created, changed and saved again', async () => {
|
||||
// create new search, csv export is not available
|
||||
await PageObjects.discover.clickNewSearchButton();
|
||||
await PageObjects.reporting.openCsvReportingPanel();
|
||||
expect(await PageObjects.reporting.isGenerateReportButtonDisabled()).to.be('true');
|
||||
// save search, csv export is available
|
||||
await PageObjects.discover.saveSearch('my search - expectEnabledGenerateReportButton 2');
|
||||
await PageObjects.reporting.openCsvReportingPanel();
|
||||
expect(await PageObjects.reporting.isGenerateReportButtonDisabled()).to.be(null);
|
||||
// add filter, csv export is not available
|
||||
await filterBar.addFilter('currency', 'is', 'EUR');
|
||||
await PageObjects.reporting.openCsvReportingPanel();
|
||||
expect(await PageObjects.reporting.isGenerateReportButtonDisabled()).to.be('true');
|
||||
// save search again, csv export is available
|
||||
await PageObjects.discover.saveSearch('my search - expectEnabledGenerateReportButton 2');
|
||||
await PageObjects.reporting.openCsvReportingPanel();
|
||||
expect(await PageObjects.reporting.isGenerateReportButtonDisabled()).to.be(null);
|
||||
});
|
||||
|
||||
it('generates a report with data', async () => {
|
||||
await PageObjects.discover.clickNewSearchButton();
|
||||
await PageObjects.reporting.setTimepickerInDataRange();
|
||||
await PageObjects.discover.saveSearch('my search - with data - expectReportCanBeCreated');
|
||||
await PageObjects.reporting.openCsvReportingPanel();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue