diff --git a/test/functional/apps/discover/_indexpattern_without_timefield.ts b/test/functional/apps/discover/_indexpattern_without_timefield.ts index ff3ad0daf69db..81fb4f92ab730 100644 --- a/test/functional/apps/discover/_indexpattern_without_timefield.ts +++ b/test/functional/apps/discover/_indexpattern_without_timefield.ts @@ -9,6 +9,7 @@ import expect from '@kbn/expect'; import { FtrProviderContext } from '../../ftr_provider_context'; export default function ({ getService, getPageObjects }: FtrProviderContext) { + const retry = getService('retry'); const browser = getService('browser'); const esArchiver = getService('esArchiver'); const kibanaServer = getService('kibanaServer'); @@ -56,22 +57,33 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { it('should display a timepicker after switching to an index pattern with timefield', async () => { await PageObjects.discover.selectIndexPattern('with-timefield'); + await PageObjects.discover.waitForDocTableLoadingComplete(); if (!(await PageObjects.timePicker.timePickerExists())) { throw new Error('Expected timepicker to exist'); } }); it('should switch between with and without timefield using the browser back button', async () => { await PageObjects.discover.selectIndexPattern('without-timefield'); + await PageObjects.discover.waitForDocTableLoadingComplete(); if (await PageObjects.timePicker.timePickerExists()) { throw new Error('Expected timepicker not to exist'); } await PageObjects.discover.selectIndexPattern('with-timefield'); + await PageObjects.discover.waitForDocTableLoadingComplete(); if (!(await PageObjects.timePicker.timePickerExists())) { throw new Error('Expected timepicker to exist'); } - // Navigating back to discover + // Navigating back await browser.goBack(); + await PageObjects.discover.waitForDocTableLoadingComplete(); + await retry.waitForWithTimeout( + 'index pattern to have been switched back to "without-timefield"', + 5000, + async () => + (await testSubjects.getVisibleText('indexPattern-switch-link')) === 'without-timefield' + ); + if (await PageObjects.timePicker.timePickerExists()) { throw new Error('Expected timepicker not to exist'); }