-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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
[ML] Functional tests - refactor structure of ML and Transform test files #75307
Conversation
Pinging @elastic/ml-ui (:ml) |
Checking test stability in flaky test runner jobs:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The refactor LGTM. Ran a few of the suites locally too.
LGTM 💯 |
💚 Build SucceededBuild metrics
History
To update your PR or re-run it, just comment with: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM ⚡
…iles (elastic#75307) This PR refactors the structure of ML and Transform functional UI test files.
…test files (#75307) (#75529) * [ML] Functional tests - refactor structure of ML and Transform test files (#75307) This PR refactors the structure of ML and Transform functional UI test files. * [ML] Functional tests - fix imports in results API tests (#75533) This PR fixes the broken COMMON_REQUEST_HEADERS in the recently added results API tests.
Summary
This PR refactors the structure of ML and Transform functional UI test files.
Details
This is mainly about not having a test (via
it
) for actions that are rather a test step, but make the tests be a high level item that can potentially contain many test steps. That way the test files are better structured and easier to maintain. The tests inside a suite can still be dependent on each other, i.e. if the first test fails, the second one is likely to fail as well as some prerequisite isn't met.In the past, we used many tests to get more visibility for where a test failure occurred (particularly interesting in longer workflow tests). Since there's no test step support available in the test framework but we still don't want to lose the ability to quickly track down the failure step, a new test step logging is introduced with this PR via
testExecution.logTestStep
(available in theml
and thetransform
service). For starters, this just takes over eachit
title and logs it as a test step. A few new high levelit
entries have been added.One example for the new test structure:
Note: More changes are planned for the future, e.g. separating out some of the clone, edit and delete tests to their own test files.
Other changes
A few more small refactorings are also part of this PR:
!
notationml.common
intoml.common_ui
andml.common_api
combobox.setCustom
(which is designed to add new entries like in our job group input) tocombobox.set
(which should be used to pick an existing entry from the list).