|
7 | 7 | */ |
8 | 8 |
|
9 | 9 | import expect from '@kbn/expect'; |
10 | | -import { FtrProviderContext } from '../ftr_provider_context'; |
| 10 | +import { FtrService } from '../ftr_provider_context'; |
11 | 11 |
|
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'); |
14 | 14 |
|
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 | + } |
23 | 18 |
|
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 | + } |
27 | 22 |
|
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 | + } |
31 | 26 |
|
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 | + } |
37 | 30 |
|
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 | + } |
43 | 36 |
|
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 | + } |
49 | 42 |
|
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()); |
53 | 50 | } |
54 | 51 |
|
55 | | - return new GlobalNav(); |
| 52 | + public async badgeMissingOrFail(): Promise<void> { |
| 53 | + await this.testSubjects.missingOrFail('headerBadge'); |
| 54 | + } |
56 | 55 | } |
0 commit comments