Skip to content

Commit f8fd6ce

Browse files
committed
Adding helper function to retrieve visual text only and fixing three tests.
1 parent 3eaaefb commit f8fd6ce

File tree

4 files changed

+29
-6
lines changed

4 files changed

+29
-6
lines changed

test/functional/apps/dashboard/dashboard_options.ts

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
1818

1919
describe('dashboard data-shared attributes', () => {
2020
let originalTitles: string[] = [];
21+
let originalAccessibleTitles: string[] = [];
2122

2223
before(async () => {
2324
await esArchiver.load('test/functional/fixtures/es_archiver/dashboard/current/kibana');
@@ -28,23 +29,32 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
2829
await PageObjects.dashboard.preserveCrossAppState();
2930
await PageObjects.dashboard.loadSavedDashboard('few panels');
3031
await PageObjects.dashboard.switchToEditMode();
31-
originalTitles = await PageObjects.dashboard.getPanelTitles();
32+
originalTitles = await PageObjects.dashboard.getVisiblePanelTitles();
33+
originalAccessibleTitles = await PageObjects.dashboard.getPanelTitles();
3234
});
3335

3436
it('should be able to hide all panel titles', async () => {
3537
await PageObjects.dashboard.checkHideTitle();
3638
await retry.try(async () => {
37-
const titles = await PageObjects.dashboard.getPanelTitles();
39+
const titles = await PageObjects.dashboard.getVisiblePanelTitles();
3840
expect(titles[0]).to.eql('');
3941
});
4042
});
4143

4244
it('should be able to unhide all panel titles', async () => {
4345
await PageObjects.dashboard.checkHideTitle();
4446
await retry.try(async () => {
45-
const titles = await PageObjects.dashboard.getPanelTitles();
47+
const titles = await PageObjects.dashboard.getVisiblePanelTitles();
4648
expect(titles[0]).to.eql(originalTitles[0]);
4749
});
4850
});
51+
52+
it('should always present accessible labels', async () => {
53+
await PageObjects.dashboard.checkHideTitle();
54+
await retry.try(async () => {
55+
const titles = await PageObjects.dashboard.getPanelTitles();
56+
expect(titles[0]).to.eql(originalAccessibleTitles[0]);
57+
});
58+
});
4959
});
5060
}

test/functional/apps/dashboard/panel_replacing.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
8585
await dashboardReplacePanel.replaceEmbeddable(replacedSearch, 'search');
8686
await PageObjects.header.waitUntilLoadingHasFinished();
8787
await PageObjects.dashboard.waitForRenderComplete();
88-
const panelTitles = await PageObjects.dashboard.getPanelTitles();
88+
const panelTitles = await PageObjects.dashboard.getVisiblePanelTitles();
8989
expect(panelTitles.length).to.be(2);
9090
expect(panelTitles[0]).to.be(replacedSearch);
9191
});

test/functional/apps/management/_index_pattern_create_delete.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,8 +111,7 @@ export default function ({ getService, getPageObjects }) {
111111

112112
const comparedHeaders = headers.map(function compareHead(header, i) {
113113
return header.getVisibleText().then(function (text) {
114-
const visibleText = text.split('\n')[1];
115-
expect(visibleText).to.be(expectedHeaders[i]);
114+
expect(text).to.be(expectedHeaders[i]);
116115
});
117116
});
118117

test/functional/page_objects/dashboard_page.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -516,6 +516,20 @@ export class DashboardPageObject extends FtrService {
516516
return await Promise.all(titleObjects.map(async (title) => await title.getVisibleText()));
517517
}
518518

519+
public async getVisiblePanelTitles() {
520+
this.log.debug('visible in getPanelTitles');
521+
const titleObjects = await this.testSubjects.findAll('dashboardPanelTitle');
522+
return await Promise.all(
523+
titleObjects.map(async (title) =>
524+
(
525+
await title.findByCssSelector(
526+
'* :not(.euiScreenReaderOnly, .euiScreenReaderOnly--showOnFocus)'
527+
)
528+
).getVisibleText()
529+
)
530+
);
531+
}
532+
519533
public async getPanelDimensions() {
520534
const panels = await this.find.allByCssSelector('.react-grid-item'); // These are gridster-defined elements and classes
521535
return await Promise.all(

0 commit comments

Comments
 (0)