Add param to cmn/mgmt/data_views/_edit_field.ts and make stateful test match (#194934)

## Summary

Resolves: https://github.com/elastic/kibana/issues/194917
This commit is contained in:
Tre 2024-10-07 13:22:26 +01:00 committed by GitHub
parent 1ab1add68e
commit 3a3f1300a5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 31 additions and 25 deletions

View file

@ -7,14 +7,11 @@
* License v3.0 only", or the "Server Side Public License, v 1".
*/
import expect from '@kbn/expect';
import { FtrProviderContext } from '../../../ftr_provider_context';
export default function ({ getService, getPageObjects }: FtrProviderContext) {
const kibanaServer = getService('kibanaServer');
const retry = getService('retry');
const PageObjects = getPageObjects(['settings']);
const testSubjects = getService('testSubjects');
describe('edit field', function () {
before(async function () {
@ -33,29 +30,19 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
});
it('should show preview for fields in _source', async function () {
await PageObjects.settings.filterField('extension');
await testSubjects.click('editFieldFormat');
await testSubjects.find('value');
let previewText = '';
await retry.waitForWithTimeout('get preview value', 1000, async () => {
previewText = await testSubjects.getVisibleText('value');
return previewText !== 'Value not set';
await PageObjects.settings.changeAndValidateFieldFormat({
name: 'extension',
fieldType: 'text',
expectedPreviewText: 'css',
});
expect(previewText).to.be('css');
await PageObjects.settings.closeIndexPatternFieldEditor();
});
it('should show preview for fields not in _source', async function () {
await PageObjects.settings.filterField('extension.raw');
await testSubjects.click('editFieldFormat');
await testSubjects.find('value');
let previewText = '';
await retry.waitForWithTimeout('get preview value', 1000, async () => {
previewText = await testSubjects.getVisibleText('value');
return previewText !== 'Value not set';
await PageObjects.settings.changeAndValidateFieldFormat({
name: 'extension.raw',
fieldType: 'keyword',
expectedPreviewText: 'css',
});
expect(previewText).to.be('css');
await PageObjects.settings.closeIndexPatternFieldEditor();
});
});
});

View file

@ -1053,7 +1053,15 @@ export class SettingsPageObject extends FtrService {
);
}
async changeAndValidateFieldFormat(name: string, fieldType: string) {
async changeAndValidateFieldFormat({
name,
fieldType,
expectedPreviewText,
}: {
name: string;
fieldType: string;
expectedPreviewText: string;
}) {
await this.filterField(name);
await this.setFieldTypeFilter(fieldType);
await this.testSubjects.click('editFieldFormat');
@ -1062,7 +1070,10 @@ export class SettingsPageObject extends FtrService {
await this.retry.tryForTime(5000, async () => {
const previewText = await this.testSubjects.getVisibleText('fieldPreviewItem > value');
expect(previewText).to.be('css');
expect(previewText).to.eql(
expectedPreviewText,
`Expected previewText to eql [${expectedPreviewText}], but got: [${previewText}]`
);
});
await this.closeIndexPatternFieldEditor();
}

View file

@ -30,11 +30,19 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
});
it('should show preview for fields in _source', async function () {
await PageObjects.settings.changeAndValidateFieldFormat('extension', 'text');
await PageObjects.settings.changeAndValidateFieldFormat({
name: 'extension',
fieldType: 'text',
expectedPreviewText: 'css',
});
});
it('should show preview for fields not in _source', async function () {
await PageObjects.settings.changeAndValidateFieldFormat('extension.raw', 'keyword');
await PageObjects.settings.changeAndValidateFieldFormat({
name: 'extension.raw',
fieldType: 'keyword',
expectedPreviewText: 'css',
});
});
});
});