Skip to content

Commit

Permalink
Make clickOnMoreMenuItem not dependent on aria labels (#13166)
Browse files Browse the repository at this point in the history
The clickOnMoreMenuItem end 2 end test util was dependent on aria labels being present on each menu item.
This aria labels are redundant and just duplicate the inner text menu item, they will be removed as soon as #12955 is merged.
This commit updates an end 2 end test util that relied on this aria labels being present.
This way we will make sure tests pass on #12955 as soon as this PR is merged.

## How has this been tested?
I verified the end 2 end tests pass.
I reverted all snapshot updates in #12955 and merge that PR with this and I checked the end 2 end tests continue to pass.
  • Loading branch information
jorgefilipecosta authored and youknowriad committed Mar 6, 2019
1 parent ff79845 commit eedea1d
Showing 1 changed file with 19 additions and 3 deletions.
22 changes: 19 additions & 3 deletions packages/e2e-test-utils/src/click-on-more-menu-item.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
/**
* External dependencies
*/
import { first } from 'lodash';

/**
* Clicks on More Menu item, searches for the button with the text provided and clicks it.
*
Expand All @@ -7,7 +12,18 @@ export async function clickOnMoreMenuItem( buttonLabel ) {
await expect( page ).toClick(
'.edit-post-more-menu [aria-label="Show more tools & options"]'
);
await page.click(
`.edit-post-more-menu__content button[aria-label="${ buttonLabel }"]`
);
const moreMenuContainerSelector =
'//*[contains(concat(" ", @class, " "), " edit-post-more-menu__content ")]';
let elementToClick = first( await page.$x(
`${ moreMenuContainerSelector }//button[contains(text(), "${ buttonLabel }")]`
) );
// If button is not found, the label should be on the info wrapper.
if ( ! elementToClick ) {
elementToClick = first( await page.$x(
moreMenuContainerSelector +
'//button' +
`/*[contains(concat(" ", @class, " "), " components-menu-item__info-wrapper ")][contains(text(), "${ buttonLabel }")]`
) );
}
await elementToClick.click();
}

0 comments on commit eedea1d

Please sign in to comment.