Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Testing: Update end-to-end tests to use Escape press to activate block toolbar #15063

Merged
merged 1 commit into from
Apr 18, 2019

Conversation

aduth
Copy link
Member

@aduth aduth commented Apr 18, 2019

This pull request seeks to replace use of a "mouse wiggle" interaction in end-to-end tests with a simpler, direct keyboard interaction. There was originally no way to activate the block toolbar using a keyboard, so an arbitrary mouse move interaction was implemented in tests to activate the toolbar. This was later found to be generally unreliable without a steps property to slow the interaction across many distinct steps.

Since it's now possible to activate the toolbar using the keyboard, these changes are proposed as an improvement to:

  • Signal that this interaction is not dependent on a cursor
  • Avoid potential delays to test runtime which could occur by spreading across multiple steps
  • Avoid the arbitrary nature of the interaction (arbitrary selection of mouse coordinates and step count)
  • The implementation without these changes is potentially prone to bugginess, where if the cursor had already been at the selected mouse coordinates, the "typing mode" would not be cancelled (source)

Testing Instructions:

Ensure end-to-end tests pass:

npm run build && npm run test-e2e

@aduth aduth added [Type] Enhancement A suggestion for improvement. [Type] Automated Testing Testing infrastructure changes impacting the execution of end-to-end (E2E) and/or unit tests. Good First Review A PR that's suitable for someone looking to contribute for the first time by reviewing code labels Apr 18, 2019
@@ -34,8 +34,8 @@ describe( 'block deletion -', () => {
// The blocks can't be empty to trigger the toolbar
await page.keyboard.type( 'Paragraph to remove' );

// Move the mouse to show the block toolbar
await page.mouse.move( 200, 300, { steps: 10 } );
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Last time I tried this change, the mouse moving was still more reliable but I don't remember the details, maybe it's better this time :)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Last time I tried this change, the mouse moving was still more reliable but I don't remember the details, maybe it's better this time :)

I can't imagine why that would be 🤷‍♂️ The tests are passing here at least. Let me know if you can find a reference to the issues you'd seen previously.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't remember precisely and I agree it's better using the keyboard shortcuts. The intent is clearer.

@aduth aduth merged commit afce486 into master Apr 18, 2019
@aduth aduth deleted the update/e2e-mouse-wiggle-block-toolbar branch April 18, 2019 20:53
daniloercoli added a commit that referenced this pull request Apr 19, 2019
…rnmobile/887-History-stack-is-not-empty-on-a-fresh-start-of-the-editor

* 'master' of https://github.com/WordPress/gutenberg:
  Avoid running hasMetaBoxes on each subscribe (#15041)
  Avoid passing down isFirst and isLast props (#15043)
  Add "Roadmap" document with an overview of projects in consideration. (#14907)
  Testing: Update tests to use Escape press to activate block toolbar (#15063)
  Testing: Skip unreliable end-to-end tests (#15059)
@youknowriad youknowriad added this to the 5.6 (Gutenberg) milestone May 13, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Good First Review A PR that's suitable for someone looking to contribute for the first time by reviewing code [Type] Automated Testing Testing infrastructure changes impacting the execution of end-to-end (E2E) and/or unit tests. [Type] Enhancement A suggestion for improvement.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants