From 0f31c0bff36a375f47aefc41d604551e56fac181 Mon Sep 17 00:00:00 2001 From: Julia Rechkunova Date: Mon, 12 Feb 2024 19:21:00 +0100 Subject: [PATCH] [Discover] Unskip update data view test (#176508) - Closes https://github.com/elastic/kibana/issues/174066 95x https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/5099 ### Checklist - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios - [x] [Flaky Test Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was used on any tests changed --- .../data_views/_data_view_create_delete.ts | 3 +-- test/functional/page_objects/settings_page.ts | 16 ++++++++++++---- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/test/functional/apps/management/data_views/_data_view_create_delete.ts b/test/functional/apps/management/data_views/_data_view_create_delete.ts index 651dbce7ada02..e3bc2240887ad 100644 --- a/test/functional/apps/management/data_views/_data_view_create_delete.ts +++ b/test/functional/apps/management/data_views/_data_view_create_delete.ts @@ -20,8 +20,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const es = getService('es'); const PageObjects = getPageObjects(['settings', 'common', 'header']); - // FLAKY: https://github.com/elastic/kibana/issues/174066 - describe.skip('creating and deleting default data view', function describeIndexTests() { + describe('creating and deleting default data view', function describeIndexTests() { before(async function () { await esArchiver.emptyKibanaIndex(); await esArchiver.loadIfNeeded( diff --git a/test/functional/page_objects/settings_page.ts b/test/functional/page_objects/settings_page.ts index 3208fb782e272..12ff79829fa7e 100644 --- a/test/functional/page_objects/settings_page.ts +++ b/test/functional/page_objects/settings_page.ts @@ -215,14 +215,14 @@ export class SettingsPageObject extends FtrService { } async getSaveDataViewButtonActive() { - await this.retry.try(async () => { - expect( + await this.retry.waitFor('active save button', async () => { + return ( ( await this.find.allByCssSelector( '[data-test-subj="saveIndexPatternButton"]:not(.euiButton-isDisabled)' ) - ).length - ).to.be(1); + ).length === 1 + ); }); return await this.testSubjects.find('saveIndexPatternButton'); } @@ -615,7 +615,13 @@ export class SettingsPageObject extends FtrService { await this.clickEditIndexButton(); await this.header.waitUntilLoadingHasFinished(); + let hasSubmittedTheForm = false; + await this.retry.try(async () => { + if (hasSubmittedTheForm && !(await this.testSubjects.exists('indexPatternEditorFlyout'))) { + // the flyout got closed + return; + } if (dataViewName) { await this.setNameField(dataViewName); } @@ -627,6 +633,8 @@ export class SettingsPageObject extends FtrService { const indexPatternSaveBtn = await this.getSaveIndexPatternButton(); await indexPatternSaveBtn.click(); + hasSubmittedTheForm = true; + const form = await this.testSubjects.findAll('indexPatternEditorForm'); const hasValidationErrors = form.length !== 0 && (await form[0].getAttribute('data-validation-error')) === '1';