mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 09:48:58 -04:00
# Backport This will backport the following commits from `main` to `8.11`: - [Address saved_object_tagging flakiness (#170114)](https://github.com/elastic/kibana/pull/170114) <!--- Backport version: 8.9.7 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sqren/backport) <!--BACKPORT [{"author":{"name":"Gerard Soldevila","email":"gerard.soldevila@elastic.co"},"sourceCommit":{"committedDate":"2023-10-30T21:21:27Z","message":"Address saved_object_tagging flakiness (#170114)\n\n## Summary\r\n\r\nFixes:\r\n* https://github.com/elastic/kibana/issues/89958\r\n* https://github.com/elastic/kibana/issues/150249\r\n* https://github.com/elastic/kibana/issues/167812\r\n* https://github.com/elastic/kibana/issues/167560\r\n\r\nUses same strategy as Stratoula's\r\n[PR](https://github.com/elastic/kibana/pull/167599). It also adds a\r\n\"click\" step to make sure the form control has the focus (as we do with\r\nthe other form controls on the same `fillForm` method).\r\n\r\nThe tests above fail cause the logic fails to clean the default tag\r\ncolour before entering a new one, resulting in:\r\n\r\n\r\n\r\nAlso fixes:\r\n* https://github.com/elastic/kibana/issues/163817\r\n\r\n[This\r\none](https://buildkite.com/elastic/kibana-on-merge/builds/36347#018b0068-ec42-47de-804d-b63a42b5b3e2)\r\nis looks like a lost click on the Delete modal confirm button (modal\r\nstill present after 30s):\r\n\r\n\r\n","sha":"036918d017c9d1ee20467f5ced9934f944d9ff00","branchLabelMapping":{"^v8.12.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Team:Core","release_note:skip","test-failure-flaky","Team:SharedUX","backport:prev-minor","v8.12.0"],"number":170114,"url":"https://github.com/elastic/kibana/pull/170114","mergeCommit":{"message":"Address saved_object_tagging flakiness (#170114)\n\n## Summary\r\n\r\nFixes:\r\n* https://github.com/elastic/kibana/issues/89958\r\n* https://github.com/elastic/kibana/issues/150249\r\n* https://github.com/elastic/kibana/issues/167812\r\n* https://github.com/elastic/kibana/issues/167560\r\n\r\nUses same strategy as Stratoula's\r\n[PR](https://github.com/elastic/kibana/pull/167599). It also adds a\r\n\"click\" step to make sure the form control has the focus (as we do with\r\nthe other form controls on the same `fillForm` method).\r\n\r\nThe tests above fail cause the logic fails to clean the default tag\r\ncolour before entering a new one, resulting in:\r\n\r\n\r\n\r\nAlso fixes:\r\n* https://github.com/elastic/kibana/issues/163817\r\n\r\n[This\r\none](https://buildkite.com/elastic/kibana-on-merge/builds/36347#018b0068-ec42-47de-804d-b63a42b5b3e2)\r\nis looks like a lost click on the Delete modal confirm button (modal\r\nstill present after 30s):\r\n\r\n\r\n","sha":"036918d017c9d1ee20467f5ced9934f944d9ff00"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v8.12.0","labelRegex":"^v8.12.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/170114","number":170114,"mergeCommit":{"message":"Address saved_object_tagging flakiness (#170114)\n\n## Summary\r\n\r\nFixes:\r\n* https://github.com/elastic/kibana/issues/89958\r\n* https://github.com/elastic/kibana/issues/150249\r\n* https://github.com/elastic/kibana/issues/167812\r\n* https://github.com/elastic/kibana/issues/167560\r\n\r\nUses same strategy as Stratoula's\r\n[PR](https://github.com/elastic/kibana/pull/167599). It also adds a\r\n\"click\" step to make sure the form control has the focus (as we do with\r\nthe other form controls on the same `fillForm` method).\r\n\r\nThe tests above fail cause the logic fails to clean the default tag\r\ncolour before entering a new one, resulting in:\r\n\r\n\r\n\r\nAlso fixes:\r\n* https://github.com/elastic/kibana/issues/163817\r\n\r\n[This\r\none](https://buildkite.com/elastic/kibana-on-merge/builds/36347#018b0068-ec42-47de-804d-b63a42b5b3e2)\r\nis looks like a lost click on the Delete modal confirm button (modal\r\nstill present after 30s):\r\n\r\n\r\n","sha":"036918d017c9d1ee20467f5ced9934f944d9ff00"}}]}] BACKPORT--> Co-authored-by: Gerard Soldevila <gerard.soldevila@elastic.co>
This commit is contained in:
parent
3330ca0d62
commit
c0bd22725d
8 changed files with 64 additions and 20 deletions
|
@ -387,6 +387,12 @@ export class CommonPageObject extends FtrService {
|
|||
this.log.debug('Clicking modal confirm');
|
||||
// make sure this data-test-subj 'confirmModalTitleText' exists because we're going to wait for it to be gone later
|
||||
await this.testSubjects.exists('confirmModalTitleText');
|
||||
// make sure button is enabled before clicking it
|
||||
// (and conveniently give UI enough time to bind a handler to it)
|
||||
const isEnabled = await this.testSubjects.isEnabled('confirmModalConfirmButton');
|
||||
if (!isEnabled) {
|
||||
throw new Error('Modal confirm button is not enabled');
|
||||
}
|
||||
await this.testSubjects.click('confirmModalConfirmButton');
|
||||
if (ensureHidden) {
|
||||
await this.ensureModalOverlayHidden();
|
||||
|
|
|
@ -65,6 +65,7 @@ class TagModal extends FtrService {
|
|||
});
|
||||
}
|
||||
if (fields.color !== undefined) {
|
||||
await this.testSubjects.click('~createModalField-color');
|
||||
await this.testSubjects.setValue('~createModalField-color', fields.color, {
|
||||
clearWithKeyboard,
|
||||
});
|
||||
|
|
|
@ -15,8 +15,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
|
|||
|
||||
const tagManagementPage = PageObjects.tagManagement;
|
||||
|
||||
// FLAKY: https://github.com/elastic/kibana/issues/167812
|
||||
describe.skip('create tag', () => {
|
||||
describe('create tag', () => {
|
||||
let tagModal: typeof tagManagementPage['tagModal'];
|
||||
|
||||
before(async () => {
|
||||
|
@ -45,7 +44,10 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
|
|||
description: 'I just added this tag',
|
||||
color: '#FF00CC',
|
||||
},
|
||||
{ submit: true }
|
||||
{
|
||||
submit: true,
|
||||
clearWithKeyboard: true,
|
||||
}
|
||||
);
|
||||
await tagModal.waitUntilClosed();
|
||||
await tagManagementPage.waitUntilTableIsLoaded();
|
||||
|
@ -65,7 +67,10 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
|
|||
description: 'The name will fails validation',
|
||||
color: '#FF00CC',
|
||||
},
|
||||
{ submit: true }
|
||||
{
|
||||
submit: true,
|
||||
clearWithKeyboard: true,
|
||||
}
|
||||
);
|
||||
|
||||
expect(await tagModal.isOpened()).to.be(true);
|
||||
|
@ -84,7 +89,10 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
|
|||
description: 'The name will fails validation',
|
||||
color: '#FF00CC',
|
||||
},
|
||||
{ submit: true }
|
||||
{
|
||||
submit: true,
|
||||
clearWithKeyboard: true,
|
||||
}
|
||||
);
|
||||
|
||||
expect(await tagModal.isOpened()).to.be(true);
|
||||
|
@ -94,7 +102,10 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
|
|||
{
|
||||
name: 'valid name',
|
||||
},
|
||||
{ submit: true }
|
||||
{
|
||||
submit: true,
|
||||
clearWithKeyboard: true,
|
||||
}
|
||||
);
|
||||
|
||||
await tagModal.waitUntilClosed();
|
||||
|
@ -114,7 +125,10 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
|
|||
description: 'I will not add this tag',
|
||||
color: '#FF00CC',
|
||||
},
|
||||
{ submit: false }
|
||||
{
|
||||
submit: false,
|
||||
clearWithKeyboard: true,
|
||||
}
|
||||
);
|
||||
await tagModal.clickCancel();
|
||||
await tagModal.waitUntilClosed();
|
||||
|
|
|
@ -118,6 +118,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
|
|||
},
|
||||
{
|
||||
submit: true,
|
||||
clearWithKeyboard: true,
|
||||
}
|
||||
);
|
||||
|
||||
|
|
|
@ -52,8 +52,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
|
|||
});
|
||||
};
|
||||
|
||||
// Failing: See https://github.com/elastic/kibana/issues/150249
|
||||
describe.skip('discover integration', () => {
|
||||
describe('discover integration', () => {
|
||||
before(async () => {
|
||||
await kibanaServer.importExport.load(
|
||||
'x-pack/test/saved_object_tagging/common/fixtures/es_archiver/discover/data.json'
|
||||
|
@ -143,6 +142,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
|
|||
},
|
||||
{
|
||||
submit: true,
|
||||
clearWithKeyboard: true,
|
||||
}
|
||||
);
|
||||
expect(await tagModal.isOpened()).to.be(false);
|
||||
|
|
|
@ -15,8 +15,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
|
|||
|
||||
const tagManagementPage = PageObjects.tagManagement;
|
||||
|
||||
// Failing: See https://github.com/elastic/kibana/issues/167560
|
||||
describe.skip('edit tag', () => {
|
||||
describe('edit tag', () => {
|
||||
let tagModal: typeof tagManagementPage['tagModal'];
|
||||
|
||||
before(async () => {
|
||||
|
@ -56,7 +55,10 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
|
|||
description: 'This was edited',
|
||||
color: '#FFCC00',
|
||||
},
|
||||
{ submit: true }
|
||||
{
|
||||
submit: true,
|
||||
clearWithKeyboard: true,
|
||||
}
|
||||
);
|
||||
await tagModal.waitUntilClosed();
|
||||
await tagManagementPage.waitUntilTableIsLoaded();
|
||||
|
@ -79,7 +81,10 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
|
|||
{
|
||||
name: 'a',
|
||||
},
|
||||
{ submit: true }
|
||||
{
|
||||
submit: true,
|
||||
clearWithKeyboard: true,
|
||||
}
|
||||
);
|
||||
|
||||
expect(await tagModal.isOpened()).to.be(true);
|
||||
|
@ -98,7 +103,10 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
|
|||
description: 'edited description',
|
||||
color: '#FF00CC',
|
||||
},
|
||||
{ submit: true }
|
||||
{
|
||||
submit: true,
|
||||
clearWithKeyboard: true,
|
||||
}
|
||||
);
|
||||
|
||||
expect(await tagModal.isOpened()).to.be(true);
|
||||
|
@ -108,7 +116,10 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
|
|||
{
|
||||
name: 'edited name',
|
||||
},
|
||||
{ submit: true }
|
||||
{
|
||||
submit: true,
|
||||
clearWithKeyboard: true,
|
||||
}
|
||||
);
|
||||
|
||||
await tagModal.waitUntilClosed();
|
||||
|
@ -130,7 +141,10 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
|
|||
description: 'I will not add this tag',
|
||||
color: '#FF00CC',
|
||||
},
|
||||
{ submit: false }
|
||||
{
|
||||
submit: false,
|
||||
clearWithKeyboard: true,
|
||||
}
|
||||
);
|
||||
await tagModal.clickCancel();
|
||||
await tagModal.waitUntilClosed();
|
||||
|
@ -153,13 +167,16 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
|
|||
it('should disable save button if no property is changed', async () => {
|
||||
await tagModal.openEdit('tag-3');
|
||||
|
||||
await tagModal.fillForm(tag3Unmodified, { submit: false });
|
||||
await tagModal.fillForm(tag3Unmodified, { submit: false, clearWithKeyboard: true });
|
||||
expect(await tagModal.isConfirmDisabled()).to.be(true);
|
||||
});
|
||||
it('should enable save button if name is changed', async () => {
|
||||
await tagModal.openEdit('tag-3');
|
||||
|
||||
await tagModal.fillForm({ ...tag3Unmodified, name: 'changed name' }, { submit: false });
|
||||
await tagModal.fillForm(
|
||||
{ ...tag3Unmodified, name: 'changed name' },
|
||||
{ submit: false, clearWithKeyboard: true }
|
||||
);
|
||||
expect(await tagModal.isConfirmDisabled()).to.be(false);
|
||||
});
|
||||
it('should enable save button if description is changed', async () => {
|
||||
|
@ -167,14 +184,17 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
|
|||
|
||||
await tagModal.fillForm(
|
||||
{ ...tag3Unmodified, description: 'changed description' },
|
||||
{ submit: false }
|
||||
{ submit: false, clearWithKeyboard: true }
|
||||
);
|
||||
expect(await tagModal.isConfirmDisabled()).to.be(false);
|
||||
});
|
||||
it('should enable save button if color is changed', async () => {
|
||||
await tagModal.openEdit('tag-3');
|
||||
|
||||
await tagModal.fillForm({ ...tag3Unmodified, color: '#FF0000' }, { submit: false });
|
||||
await tagModal.fillForm(
|
||||
{ ...tag3Unmodified, color: '#FF0000' },
|
||||
{ submit: false, clearWithKeyboard: true }
|
||||
);
|
||||
expect(await tagModal.isConfirmDisabled()).to.be(false);
|
||||
});
|
||||
});
|
||||
|
|
|
@ -98,6 +98,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
|
|||
},
|
||||
{
|
||||
submit: true,
|
||||
clearWithKeyboard: true,
|
||||
}
|
||||
);
|
||||
|
||||
|
|
|
@ -173,6 +173,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
|
|||
},
|
||||
{
|
||||
submit: true,
|
||||
clearWithKeyboard: true,
|
||||
}
|
||||
);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue