diff --git a/test/functional/apps/management/_scripted_fields.js b/test/functional/apps/management/_scripted_fields.js index 6646280e7b1d3..dcf40b19e247a 100644 --- a/test/functional/apps/management/_scripted_fields.js +++ b/test/functional/apps/management/_scripted_fields.js @@ -53,8 +53,8 @@ export default function ({ getService, getPageObjects }) { 'timePicker', ]); - // eslint-disable-next-line mocha/no-exclusive-tests - describe.only('scripted fields', function () { + + describe('scripted fields', function () { this.tags(['skipFirefox']); before(async function () { @@ -65,11 +65,11 @@ export default function ({ getService, getPageObjects }) { await kibanaServer.uiSettings.update({}); }); - after(async function afterAll() { - await PageObjects.settings.navigateTo(); - await PageObjects.settings.clickKibanaIndexPatterns(); - await PageObjects.settings.removeLogstashIndexPatternIfExist(); - }); + // after(async function afterAll() { + // await PageObjects.settings.navigateTo(); + // await PageObjects.settings.clickKibanaIndexPatterns(); + // await PageObjects.settings.removeLogstashIndexPatternIfExist(); + // }); it('should not allow saving of invalid scripts', async function () { await PageObjects.settings.navigateTo(); @@ -449,6 +449,29 @@ export default function ({ getService, getPageObjects }) { }); }); + + //add a test to sort date scripted field + //https://github.com/elastic/kibana/issues/75711 + it.skip('should sort scripted field value in Discover', async function () { + await testSubjects.click(`docTableHeaderFieldSort_${scriptedPainlessFieldName2}`); + // after the first click on the scripted field, it becomes secondary sort after time. + // click on the timestamp twice to make it be the secondary sort key. + await testSubjects.click('docTableHeaderFieldSort_@timestamp'); + await testSubjects.click('docTableHeaderFieldSort_@timestamp'); + await PageObjects.header.waitUntilLoadingHasFinished(); + await retry.try(async function () { + const rowData = await PageObjects.discover.getDocTableIndex(1); + expect(rowData).to.be('Sep 18, 2015 @ 06:52:55.953\n2015-09-18 07:00'); + }); + + await testSubjects.click(`docTableHeaderFieldSort_${scriptedPainlessFieldName2}`); + await PageObjects.header.waitUntilLoadingHasFinished(); + await retry.try(async function () { + const rowData = await PageObjects.discover.getDocTableIndex(1); + expect(rowData).to.be('Sep 17, 2015 @ 06:32:29.479\n2015-09-18 07:00'); + }); + }); + it('should filter by scripted field value in Discover', async function () { await PageObjects.discover.clickFieldListItem(scriptedPainlessFieldName2); await log.debug('filter by "Sep 17, 2015 @ 23:00" in the expanded scripted field list'); @@ -464,6 +487,8 @@ export default function ({ getService, getPageObjects }) { await filterBar.removeAllFilters(); }); + + it('should visualize scripted field in vertical bar chart', async function () { await PageObjects.discover.clickFieldListItemVisualize(scriptedPainlessFieldName2); await PageObjects.header.waitUntilLoadingHasFinished(); diff --git a/test/functional/apps/management/index.js b/test/functional/apps/management/index.js index d5f0c286af7a5..e8fc38cc3a9db 100644 --- a/test/functional/apps/management/index.js +++ b/test/functional/apps/management/index.js @@ -27,10 +27,10 @@ export default function ({ getService, loadTestFile }) { await esArchiver.loadIfNeeded('makelogs'); }); - after(async () => { - await esArchiver.unload('makelogs'); - await esArchiver.unload('empty_kibana'); - }); + // after(async () => { + // await esArchiver.unload('makelogs'); + // await esArchiver.unload('empty_kibana'); + // }); describe('', function () { this.tags('ciGroup7'); diff --git a/x-pack/test/accessibility/apps/painless_lab.ts b/x-pack/test/accessibility/apps/painless_lab.ts new file mode 100644 index 0000000000000..88583341cb6fd --- /dev/null +++ b/x-pack/test/accessibility/apps/painless_lab.ts @@ -0,0 +1,38 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import expect from '@kbn/expect'; +import { FtrProviderContext } from '../ftr_provider_context'; + +export default function ({ getService, getPageObjects }: FtrProviderContext) { + const PageObjects = getPageObjects(['common', 'security']); + const testSubjects = getService('testSubjects'); + const find = getService('find'); + const a11y = getService('a11y'); + + describe('Accessibility Painless Lab Editor', () => { + before(async () => { + await PageObjects.common.navigateToApp('painlessLab'); + await a11y.testAppSnapshot(); + expect(await testSubjects.exists('painless_lab')).to.be(true); + }); + + it('click on the output button', async () => { + const painlessTabs = await find.byCssSelector('[data-test-subj="painlessTabs"] #output'); + await a11y.testAppSnapshot(); + }); + + it('click on the parameters button', async () => { + const painlessTabs = await find.byCssSelector('[data-test-subj="painlessTabs"] #parameters'); + await a11y.testAppSnapshot(); + }); + + it('click on the context button', async () => { + const painlessTabs = await find.byCssSelector('[data-test-subj="painlessTabs"] #context'); + await a11y.testAppSnapshot(); + }); + }); +}