-
-
Notifications
You must be signed in to change notification settings - Fork 8
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
Add Capybara/AmbiguousClick
cop and make soft-deprecated Capybara/ClickLinkOrButtonStyle
cop. If you want to use EnforcedStyle: strict
, use Capybara/AmbiguousClick
cop instead
#99
Conversation
Capybara/ClickLinkOrButtonStyle: | ||
Description: Checks for methods of button or link clicks. | ||
Enabled: pending | ||
Enabled: false |
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.
memo) This is a change from pending, but is this acceptable for a minor update? (not a breaking change?)
@@ -9,11 +9,17 @@ Capybara: | |||
- "**/*_steps.rb" | |||
- "**/features/step_definitions/**/*" | |||
|
|||
Capybara/AmbiguousClick: | |||
Description: Specify the exact target to click on. | |||
Enabled: false |
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.
memo) It is not to be enabled by default. It is only a transition destination when Capybara/ClickLinkOrButtonStyle
is EnforcedStyle: strict
.
This rule's default enforce style, `link_or_button` [1], introduced a number of problems [2]. Specifically, I noticed issues switching to `click_on` from `click_button` [3]. The hack solution is to ignore or disable the rule in some places but not in others. Not great. As a result, the rule is slated for removal [4] and replacement [5] by a new rule. In the interim, configuring this rule to enforce a strict use of `click_button` and `click_link` is preferential (and, honestly, more communicative). In this author's opinion, user interface specs should be explicit about the markup under test. [1] https://docs.rubocop.org/rubocop-capybara/cops_capybara.html#capybaraclicklinkorbuttonstyle [2] rubocop/rubocop-capybara#61 [3] rubocop/rubocop-capybara#61 (comment) [4] rubocop/rubocop-capybara#81 [5] rubocop/rubocop-capybara#99
## Description This rule's default enforce style, `link_or_button` [1], introduced a number of problems [2]. Specifically, I noticed issues switching to `click_on` from `click_button` [3]. The hack solution is to ignore or disable the rule in some places but not in others. Not great. As a result, the rule is slated for removal [4] and replacement [5] by a new rule. In the interim, configuring this rule to enforce a strict use of `click_button` and `click_link` is preferential (and, honestly, more communicative). In this author's opinion, user interface specs should be explicit about the markup under test. [1] https://docs.rubocop.org/rubocop-capybara/cops_capybara.html#capybaraclicklinkorbuttonstyle [2] rubocop/rubocop-capybara#61 [3] rubocop/rubocop-capybara#61 (comment) [4] rubocop/rubocop-capybara#81 [5] rubocop/rubocop-capybara#99 ## Commits - Configure `Capybara/ClickLinkOrButtonStyle` - Bump version to v1.1.0
…ClickLinkOrButtonStyle` cop. If you want to use `EnforcedStyle: strict`, use `Capybara/AmbiguousClick` cop instead
Motivation: #81
Before submitting the PR make sure the following are checked:
main
(if not - rebase it).CHANGELOG.md
if the new code introduces user-observable changes.bundle exec rake
) passes (be sure to run this locally, since it may produce updated documentation that you will need to commit).If you have created a new cop:
config/default.yml
.Enabled: pending
inconfig/default.yml
.VersionAdded: "<<next>>"
indefault/config.yml
.If you have modified an existing cop's configuration options:
VersionChanged: "<<next>>"
inconfig/default.yml
.