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
Internal: Backport AvoidCleanupTrait to 11.9.x #3469
Conversation
We previously utilised a lot of clean-up steps to make sure our tests didn't affect eachother. However we've since moved to a scenario where both in the CI and locally a new database is loaded between scenarios, this makes the clean-up no longer needed. Additionally if the clean-up does run then this makes debugging a failed test a lot more difficult because you can't inspect the state of the platform at the time the test failed. This commit ensures that all the clean-up that is provided by the DrupalExtension by default is disabled. For this we have to disable autoloading of sub-contexts (which we weren't using anyway) because the search_api contained a `behat.inc` file that would load the `RawDrupalContext` class which contained more cleaning. There are DrupalExtension stories open to remove the cleaning from `RawDrupalContext`, but we don't have time to wait for that. We also add a step in our CI to dump the failed database to disk along with the installation.sql file. This allows a developer to load the failed database locally and see what was going wrong without having to rerun the test.
In newly written tests we were already doin this manually in each scenario. Between scenario's the user manager in the DrupalExtension was not correctly keeping track of the logged in user status which could prevent a new scenario from logging a user in. With the removal of clean-up in scenario's we now need that logout step literally everywhere, so it's easier to add it as an `@afterScenario` and run it every time than to require developers to decide about 100s of places whether it's needed. See jhedstrom/drupalextension#641
These were used in the past to help set-up test automation on Travis but they don't actually test Open Social. In any scenario that these tests might fail other tests would fail too. The tests are removed to reduce the number of parallel tests being executed.
Thanks for contributing towards Open Social! A maintainer from the @goalgorilla/maintainers group might not review all changes from all teams/contributors. Please don't be discouraged if it takes a while. In the meantime, we have some automated checks running and it might be that you will see our comments with some tips or requests to speed up the review process. 😊 |
Also tests failing here, likely due to a change in the test entitytrait validation thats inside 11.9.x but not main. Will take another look on monday. It's about the validation of the created date that doesn't allow 01/01/01. |
This commit allows taxonomy reference data to be provided as a comma separated list of IDs or term names (mixing is allowed). This can now be used in tables for e.g. groups, topics and events. By putting this in the validate method we can use this everywhere. This ensures we deduplicate the taxonomy title lookup so that we don't break on a pre-fetched value. Since we now do it by field type we no longer need to do it by field name. We can also remove the topic clean-up since we load a new database before every test. This allows us to remove the helper that looks-up a topic type by name.
We can use our EntityTrait to allow any relative date for datetime fields that we create using any of our newer content scaffolding test steps.
These fields have a different field type and value structure than the `datetime` fields that we already tackled in a previous commit, so we need to add them separately.
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
IMPORTANT:
Should only be merged in 11.9.x
Problem
In 634a6c6 a change has been added using the AvoidCleanupTrait which has been introduced in https://github.com/goalgorilla/open_social/pull/3393/files but this is got introduced in 11.10.x and higher so the tests will fail in 11.9.x as it cannot be found.
Solution
Backport AvoidCleanupTrait #3393
Issue tracker
Internal
Theme issue tracker
[Required if applicable] Paste a link to the drupal.org theme issue queue item, either from socialbase or socialblue. If any other issue trackers were used, include links to those too.
How to test
Definition of done
Before merge
After merge
Release notes
Internal. See problem/solution part
Change Record
Translations