From 58f7eff1ce01e9ae850803e092d0b30ee7251849 Mon Sep 17 00:00:00 2001 From: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Date: Wed, 26 May 2021 00:06:13 -0400 Subject: [PATCH] [ftr] migrate "fieldEditor" to FtrService class (#100597) (#100627) Co-authored-by: spalger Co-authored-by: Spencer Co-authored-by: spalger --- test/functional/services/field_editor.ts | 78 +++++++++++------------- test/functional/services/index.ts | 4 +- 2 files changed, 39 insertions(+), 43 deletions(-) diff --git a/test/functional/services/field_editor.ts b/test/functional/services/field_editor.ts index 342e2afec28d3c..c74c229cd11c7c 100644 --- a/test/functional/services/field_editor.ts +++ b/test/functional/services/field_editor.ts @@ -6,51 +6,47 @@ * Side Public License, v 1. */ -import { FtrProviderContext } from '../ftr_provider_context'; +import { FtrService } from '../ftr_provider_context'; -export function FieldEditorProvider({ getService }: FtrProviderContext) { - const browser = getService('browser'); - const testSubjects = getService('testSubjects'); +export class FieldEditorService extends FtrService { + private readonly browser = this.ctx.getService('browser'); + private readonly testSubjects = this.ctx.getService('testSubjects'); - class FieldEditor { - public async setName(name: string) { - await testSubjects.setValue('nameField > input', name); - } - public async enableCustomLabel() { - await testSubjects.setEuiSwitch('customLabelRow > toggle', 'check'); - } - public async setCustomLabel(name: string) { - await testSubjects.setValue('customLabelRow > input', name); - } - public async enableValue() { - await testSubjects.setEuiSwitch('valueRow > toggle', 'check'); - } - public async disableValue() { - await testSubjects.setEuiSwitch('valueRow > toggle', 'uncheck'); - } - public async typeScript(script: string) { - const editor = await (await testSubjects.find('valueRow')).findByClassName( - 'react-monaco-editor-container' - ); - const textarea = await editor.findByClassName('monaco-mouse-cursor-text'); - - await textarea.click(); - await browser.pressKeys(script); - } - public async save() { - await testSubjects.click('fieldSaveButton'); - } + public async setName(name: string) { + await this.testSubjects.setValue('nameField > input', name); + } + public async enableCustomLabel() { + await this.testSubjects.setEuiSwitch('customLabelRow > toggle', 'check'); + } + public async setCustomLabel(name: string) { + await this.testSubjects.setValue('customLabelRow > input', name); + } + public async enableValue() { + await this.testSubjects.setEuiSwitch('valueRow > toggle', 'check'); + } + public async disableValue() { + await this.testSubjects.setEuiSwitch('valueRow > toggle', 'uncheck'); + } + public async typeScript(script: string) { + const editor = await (await this.testSubjects.find('valueRow')).findByClassName( + 'react-monaco-editor-container' + ); + const textarea = await editor.findByClassName('monaco-mouse-cursor-text'); - public async confirmSave() { - await testSubjects.setValue('saveModalConfirmText', 'change'); - await testSubjects.click('confirmModalConfirmButton'); - } + await textarea.click(); + await this.browser.pressKeys(script); + } + public async save() { + await this.testSubjects.click('fieldSaveButton'); + } - public async confirmDelete() { - await testSubjects.setValue('deleteModalConfirmText', 'remove'); - await testSubjects.click('confirmModalConfirmButton'); - } + public async confirmSave() { + await this.testSubjects.setValue('saveModalConfirmText', 'change'); + await this.testSubjects.click('confirmModalConfirmButton'); } - return new FieldEditor(); + public async confirmDelete() { + await this.testSubjects.setValue('deleteModalConfirmText', 'remove'); + await this.testSubjects.click('confirmModalConfirmButton'); + } } diff --git a/test/functional/services/index.ts b/test/functional/services/index.ts index b6887bc38b93e1..f37b0b544fd660 100644 --- a/test/functional/services/index.ts +++ b/test/functional/services/index.ts @@ -31,7 +31,7 @@ import { FilterBarService } from './filter_bar'; import { FlyoutProvider } from './flyout'; import { GlobalNavProvider } from './global_nav'; import { InspectorProvider } from './inspector'; -import { FieldEditorProvider } from './field_editor'; +import { FieldEditorService } from './field_editor'; import { ManagementMenuProvider } from './management'; import { QueryBarProvider } from './query_bar'; import { RemoteProvider } from './remote'; @@ -75,7 +75,7 @@ export const services = { browser: BrowserProvider, pieChart: PieChartProvider, inspector: InspectorProvider, - fieldEditor: FieldEditorProvider, + fieldEditor: FieldEditorService, vegaDebugInspector: VegaDebugInspectorViewProvider, appsMenu: AppsMenuProvider, globalNav: GlobalNavProvider,