Fix invalid HTML in related content button

A button cannot be inside an anchor tag, and it might confuse some
browsers or screen readers.

We're also making it clear in the tests that the intention is to use a
button there by using `click_button` instead of `click_on` since the
latter also clicks on links.
This commit is contained in:
Javi Martín
2021-06-22 20:23:17 +02:00
parent 918276ec70
commit 8a697216d1
2 changed files with 7 additions and 9 deletions

View File

@@ -5,11 +5,9 @@
<%= t("related_content.title") %>&nbsp;<span>(<%= relationable.relationed_contents.count %>)</span>
</h2>
<% if current_user %>
<a>
<button type="button" data-toggle="related_content" class="add-related-content" id="add-related-content">
<%= t("related_content.add") %>
</button>
</a>
<button type="button" data-toggle="related_content" class="add-related-content" id="add-related-content">
<%= t("related_content.add") %>
</button>
<% end %>
</div>

View File

@@ -30,7 +30,7 @@ shared_examples "relationable" do |relationable_model_name|
expect(page).not_to have_selector("#related_content")
click_on("Add related content")
click_button "Add related content"
within("#related_content") do
fill_in "url", with: "#{url + related1.url}"
@@ -47,7 +47,7 @@ shared_examples "relationable" do |relationable_model_name|
expect(page).to have_content(relationable.title)
end
click_on("Add related content")
click_button "Add related content"
within("#related_content") do
fill_in "url", with: "#{url + related2.url}"
@@ -63,7 +63,7 @@ shared_examples "relationable" do |relationable_model_name|
login_as(user)
visit relationable.url
click_on("Add related content")
click_button "Add related content"
within("#related_content") do
fill_in "url", with: "http://invalidurl.com"
@@ -77,7 +77,7 @@ shared_examples "relationable" do |relationable_model_name|
login_as(user)
visit relationable.url
click_on("Add related content")
click_button "Add related content"
within("#related_content") do
fill_in "url", with: url + relationable.url.to_s