Skip to content

Commit

Permalink
[ftr] migrate "fieldEditor" to FtrService class (elastic#100597) (ela…
Browse files Browse the repository at this point in the history
…stic#100627)

Co-authored-by: spalger <spalger@users.noreply.github.com>

Co-authored-by: Spencer <email@spalger.com>
Co-authored-by: spalger <spalger@users.noreply.github.com>
  • Loading branch information
3 people committed May 26, 2021
1 parent a6e01e0 commit 58f7eff
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 43 deletions.
78 changes: 37 additions & 41 deletions test/functional/services/field_editor.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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');
}
}
4 changes: 2 additions & 2 deletions test/functional/services/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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';
Expand Down Expand Up @@ -75,7 +75,7 @@ export const services = {
browser: BrowserProvider,
pieChart: PieChartProvider,
inspector: InspectorProvider,
fieldEditor: FieldEditorProvider,
fieldEditor: FieldEditorService,
vegaDebugInspector: VegaDebugInspectorViewProvider,
appsMenu: AppsMenuProvider,
globalNav: GlobalNavProvider,
Expand Down

0 comments on commit 58f7eff

Please sign in to comment.