The replacement for https://github.com/enso-org/enso/pull/9144
We try to match bindings using "buttons" field, but it in fact does not contain the just-released buttons.
# Important Notes
I added tests for editing node. Also, I decided that the cursor position should be at the end of line when starting editing by clicking at "edit" icon.
Related to https://github.com/enso-org/enso/issues/8518
These tests already caught one regression in nav breadcrumbs: https://github.com/enso-org/enso/issues/8756
It also provides API for mocking expression updates for arbitrary nodes on the screen. The implementation is a bit convoluted and includes setting a callback on `window`, but it looks like the only possible solution given our architecture and playwright restrictions.
More cases in E2E tests checking all ways of using component browser.
The tests found one actual bug: sometimes we displayed only a few entries after opening CB because the scroller size was not refreshed (we assumed it will be available in the next tick). Refactored Component Browser so it does not use nextTick anymore.
E2E were failing on develop, now they're fixed.
1. There was a problem in CB which I don't know by what was triggered (But this test is fixed/extended anyway in #8559
2. Otherwise, the test scenes didn't have any nodes due to some races in initialization.
Fixes#8433
* Adds E2E test to `test` script in gui2 (without server)
* Add options to `run` script to specify what test should be run: `unit` (default), `e2e`, or `ci` (which runs both unit and e2e without watching/spawning report server).
* The CI test step now checks e2e tests.
### Important Notes
~~One of e2e tests was disabled because it caught the regression on develop: #8476 ~~
- Closes#8179
# Important Notes
- ⚠️ These tests are currently *not run* on any CI workflow.
- There is some unused code for mocking the PM. This has been intentionally kept, as this may be useful in the future.
Note that this may be useful for testing the dashboard, however the dashboard is currently only tested in cloud mode
- that is, without the backend switcher, and with only the remote backend available. As such, currently it uses HTTP API mocks, and no PM mock.