Use RSpec annotations instead of included class to trigger RSpec hooks#881
Draft
Use RSpec annotations instead of included class to trigger RSpec hooks#881
Conversation
091e68f to
d2045b8
Compare
Contributor
Author
|
Needs work since the specs secretly relied on the hooks in aruba/rspec 😢 |
d2045b8 to
40a2fad
Compare
olleolleolle
approved these changes
Mar 17, 2024
8 tasks
c8a91c6 to
966f1a6
Compare
Since we already use :type to trigger inclusion of Aruba::Api, we can safely use it to activate the around hooks as well. This also increases safety for custom integrations, since having those work correctly depended on "aruba/rspec" never being loaded.
In particular, if we use the shared context 'uses aruba API', we have an object @aruba that includes Aruba::Api, and all the methods available on that are also available on each spec example. The results can be different however, since each has its own config instance.
966f1a6 to
365d72c
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Use
type: :arubato trigger all RSpec hooks in the default integration, replacing the check for inclusion of Aruba::Api.Details
When using the default aruba/rspec integration, the initial inclusion of
Aruba::Apiwas triggered by atype: :arubaannotation to the spec, but the other hooks were filtered by a check for inclusion of Aruba::Api.Since we already use :type to trigger inclusion of Aruba::Api, we can safely use it to activate the around hooks as well, thus simplifying the code
This also increases safety for custom integrations, since having those work correctly depended on "aruba/rspec" never being loaded.
Motivation and Context
This improves simplicity of the code by relying on existing mechanisms instead of introducing our own.
How Has This Been Tested?
CI will check this
Types of changes