Skip to content

Commit 2fe74fe

Browse files
kibanamachineSpencerspalger
authored
[ftr] migrate "globalNav" service to FtrService class (#100604) (#100665)
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>
1 parent d2f6b58 commit 2fe74fe

File tree

2 files changed

+37
-38
lines changed

2 files changed

+37
-38
lines changed

test/functional/services/global_nav.ts

Lines changed: 35 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -7,50 +7,49 @@
77
*/
88

99
import expect from '@kbn/expect';
10-
import { FtrProviderContext } from '../ftr_provider_context';
10+
import { FtrService } from '../ftr_provider_context';
1111

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

15-
class GlobalNav {
16-
public async moveMouseToLogo(): Promise<void> {
17-
await testSubjects.moveMouseTo('headerGlobalNav > logo');
18-
}
19-
20-
public async clickLogo(): Promise<void> {
21-
return await testSubjects.click('headerGlobalNav > logo');
22-
}
15+
public async moveMouseToLogo(): Promise<void> {
16+
await this.testSubjects.moveMouseTo('headerGlobalNav > logo');
17+
}
2318

24-
public async clickNewsfeed(): Promise<void> {
25-
return await testSubjects.click('headerGlobalNav > newsfeed');
26-
}
19+
public async clickLogo(): Promise<void> {
20+
return await this.testSubjects.click('headerGlobalNav > logo');
21+
}
2722

28-
public async exists(): Promise<boolean> {
29-
return await testSubjects.exists('headerGlobalNav');
30-
}
23+
public async clickNewsfeed(): Promise<void> {
24+
return await this.testSubjects.click('headerGlobalNav > newsfeed');
25+
}
3126

32-
public async getFirstBreadcrumb(): Promise<string> {
33-
return await testSubjects.getVisibleText(
34-
'headerGlobalNav > breadcrumbs > ~breadcrumb & ~first'
35-
);
36-
}
27+
public async exists(): Promise<boolean> {
28+
return await this.testSubjects.exists('headerGlobalNav');
29+
}
3730

38-
public async getLastBreadcrumb(): Promise<string> {
39-
return await testSubjects.getVisibleText(
40-
'headerGlobalNav > breadcrumbs > ~breadcrumb & ~last'
41-
);
42-
}
31+
public async getFirstBreadcrumb(): Promise<string> {
32+
return await this.testSubjects.getVisibleText(
33+
'headerGlobalNav > breadcrumbs > ~breadcrumb & ~first'
34+
);
35+
}
4336

44-
public async badgeExistsOrFail(expectedLabel: string): Promise<void> {
45-
await testSubjects.existOrFail('headerBadge');
46-
const actualLabel = await testSubjects.getAttribute('headerBadge', 'data-test-badge-label');
47-
expect(actualLabel.toUpperCase()).to.equal(expectedLabel.toUpperCase());
48-
}
37+
public async getLastBreadcrumb(): Promise<string> {
38+
return await this.testSubjects.getVisibleText(
39+
'headerGlobalNav > breadcrumbs > ~breadcrumb & ~last'
40+
);
41+
}
4942

50-
public async badgeMissingOrFail(): Promise<void> {
51-
await testSubjects.missingOrFail('headerBadge');
52-
}
43+
public async badgeExistsOrFail(expectedLabel: string): Promise<void> {
44+
await this.testSubjects.existOrFail('headerBadge');
45+
const actualLabel = await this.testSubjects.getAttribute(
46+
'headerBadge',
47+
'data-test-badge-label'
48+
);
49+
expect(actualLabel.toUpperCase()).to.equal(expectedLabel.toUpperCase());
5350
}
5451

55-
return new GlobalNav();
52+
public async badgeMissingOrFail(): Promise<void> {
53+
await this.testSubjects.missingOrFail('headerBadge');
54+
}
5655
}

test/functional/services/index.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ import { DocTableService } from './doc_table';
2929
import { EmbeddingProvider } from './embedding';
3030
import { FilterBarService } from './filter_bar';
3131
import { FlyoutProvider } from './flyout';
32-
import { GlobalNavProvider } from './global_nav';
32+
import { GlobalNavService } from './global_nav';
3333
import { InspectorProvider } from './inspector';
3434
import { FieldEditorService } from './field_editor';
3535
import { ManagementMenuProvider } from './management';
@@ -78,7 +78,7 @@ export const services = {
7878
fieldEditor: FieldEditorService,
7979
vegaDebugInspector: VegaDebugInspectorViewProvider,
8080
appsMenu: AppsMenuProvider,
81-
globalNav: GlobalNavProvider,
81+
globalNav: GlobalNavService,
8282
toasts: ToastsProvider,
8383
savedQueryManagementComponent: SavedQueryManagementComponentProvider,
8484
elasticChart: ElasticChartProvider,

0 commit comments

Comments
 (0)