Как указано @jonrsharpe, вы не ссылаетесь на кнопку должным образом.Самый надежный способ ссылки на элемент - дать ему идентификатор и ссылаться на него по этому идентификатору.
Кроме того, кнопка, созданная button_to
, может не иметь содержимого, в этом случае вам нужно будет сообщить Capybara, что кнопка не видна.
Измените строку button_to
наthis:
<%= button_to post_like_path(post, like), id: "image-button", remote: true do %>
Затем измените ваш тест следующим образом:
scenario "push an image" do
visit posts_path # Use the name of your path here
find('#image-button', visible: false).click
end
Кстати, использование method: :delete
в вашей ссылке button_to
не дает ожидаемого результата.Метод автоматически устанавливается на POST
, что, по-видимому, является тем, что вы хотите.