Change element_with_pattern cop to not use quotes

Using quotes within string validations can be messy. Let's
use  a typical CSS selector for an unquoted attribute

Update the cop spec to validate appropriate new message
This commit is contained in:
ddavison 2019-07-09 14:44:16 -07:00
parent 98fc3f23db
commit 015b61b1dc
No known key found for this signature in database
GPG key ID: 29F0AE2EFEDC3121
2 changed files with 3 additions and 3 deletions

View file

@ -30,7 +30,7 @@ module RuboCop
return if args.first.nil?
args.first.each_node(:str) do |arg|
add_offense(arg, message: MESSAGE % "data-qa-selector=\"#{element_name.value}\"")
add_offense(arg, message: MESSAGE % "data-qa-selector=#{element_name.value}")
end
end

View file

@ -23,9 +23,9 @@ describe RuboCop::Cop::QA::ElementWithPattern do
expect_offense(<<-RUBY)
view 'app/views/shared/groups/_search_form.html.haml' do
element :groups_filter, 'search_field_tag :filter'
^^^^^^^^^^^^^^^^^^^^^^^^^^ Don't use a pattern for element, create a corresponding `qa-groups-filter` instead.
^^^^^^^^^^^^^^^^^^^^^^^^^^ Don't use a pattern for element, create a corresponding `data-qa-selector=groups_filter` instead.
element :groups_filter_placeholder, /Search by name/
^^^^^^^^^^^^^^ Don't use a pattern for element, create a corresponding `qa-groups-filter-placeholder` instead.
^^^^^^^^^^^^^^ Don't use a pattern for element, create a corresponding `data-qa-selector=groups_filter_placeholder` instead.
end
RUBY
end