Skip to content

Commit

Permalink
[ftr] migrate "globalNav" service to FtrService class (#100604)
Browse files Browse the repository at this point in the history
Co-authored-by: spalger <spalger@users.noreply.github.com>
  • Loading branch information
Spencer and spalger committed May 26, 2021
1 parent 2d6ee26 commit 6d48a50
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 38 deletions.
71 changes: 35 additions & 36 deletions test/functional/services/global_nav.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,50 +7,49 @@
*/

import expect from '@kbn/expect';
import { FtrProviderContext } from '../ftr_provider_context';
import { FtrService } from '../ftr_provider_context';

export function GlobalNavProvider({ getService }: FtrProviderContext) {
const testSubjects = getService('testSubjects');
export class GlobalNavService extends FtrService {
private readonly testSubjects = this.ctx.getService('testSubjects');

class GlobalNav {
public async moveMouseToLogo(): Promise<void> {
await testSubjects.moveMouseTo('headerGlobalNav > logo');
}

public async clickLogo(): Promise<void> {
return await testSubjects.click('headerGlobalNav > logo');
}
public async moveMouseToLogo(): Promise<void> {
await this.testSubjects.moveMouseTo('headerGlobalNav > logo');
}

public async clickNewsfeed(): Promise<void> {
return await testSubjects.click('headerGlobalNav > newsfeed');
}
public async clickLogo(): Promise<void> {
return await this.testSubjects.click('headerGlobalNav > logo');
}

public async exists(): Promise<boolean> {
return await testSubjects.exists('headerGlobalNav');
}
public async clickNewsfeed(): Promise<void> {
return await this.testSubjects.click('headerGlobalNav > newsfeed');
}

public async getFirstBreadcrumb(): Promise<string> {
return await testSubjects.getVisibleText(
'headerGlobalNav > breadcrumbs > ~breadcrumb & ~first'
);
}
public async exists(): Promise<boolean> {
return await this.testSubjects.exists('headerGlobalNav');
}

public async getLastBreadcrumb(): Promise<string> {
return await testSubjects.getVisibleText(
'headerGlobalNav > breadcrumbs > ~breadcrumb & ~last'
);
}
public async getFirstBreadcrumb(): Promise<string> {
return await this.testSubjects.getVisibleText(
'headerGlobalNav > breadcrumbs > ~breadcrumb & ~first'
);
}

public async badgeExistsOrFail(expectedLabel: string): Promise<void> {
await testSubjects.existOrFail('headerBadge');
const actualLabel = await testSubjects.getAttribute('headerBadge', 'data-test-badge-label');
expect(actualLabel.toUpperCase()).to.equal(expectedLabel.toUpperCase());
}
public async getLastBreadcrumb(): Promise<string> {
return await this.testSubjects.getVisibleText(
'headerGlobalNav > breadcrumbs > ~breadcrumb & ~last'
);
}

public async badgeMissingOrFail(): Promise<void> {
await testSubjects.missingOrFail('headerBadge');
}
public async badgeExistsOrFail(expectedLabel: string): Promise<void> {
await this.testSubjects.existOrFail('headerBadge');
const actualLabel = await this.testSubjects.getAttribute(
'headerBadge',
'data-test-badge-label'
);
expect(actualLabel.toUpperCase()).to.equal(expectedLabel.toUpperCase());
}

return new GlobalNav();
public async badgeMissingOrFail(): Promise<void> {
await this.testSubjects.missingOrFail('headerBadge');
}
}
4 changes: 2 additions & 2 deletions test/functional/services/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ import { DocTableService } from './doc_table';
import { EmbeddingProvider } from './embedding';
import { FilterBarService } from './filter_bar';
import { FlyoutProvider } from './flyout';
import { GlobalNavProvider } from './global_nav';
import { GlobalNavService } from './global_nav';
import { InspectorProvider } from './inspector';
import { FieldEditorService } from './field_editor';
import { ManagementMenuProvider } from './management';
Expand Down Expand Up @@ -78,7 +78,7 @@ export const services = {
fieldEditor: FieldEditorService,
vegaDebugInspector: VegaDebugInspectorViewProvider,
appsMenu: AppsMenuProvider,
globalNav: GlobalNavProvider,
globalNav: GlobalNavService,
toasts: ToastsProvider,
savedQueryManagementComponent: SavedQueryManagementComponentProvider,
elasticChart: ElasticChartProvider,
Expand Down

0 comments on commit 6d48a50

Please sign in to comment.