Я пытаюсь проверить ссылку, которая вызывает действие контроллера с помощью ajax. По сути, когда пользователь нажимает «Follow», он будет связан с компанией, а частичный результат будет выполнен с JS. Проблема в том, что он работает правильно, когда я пытаюсь его в разработке, но он не отвечает в тестах. Я пытался много способов, и похоже, что вызов никогда не попадает на контроллер.Rspec не выполняет вызовы AJAX
Здесь вы можете увидеть тест:
#spec/integration/following_spec.rb
it "should add the company to the ones followed by the user", :js => true do
find("#current_company").click_link "Follow"
sleep 2
@user.companies_followed.include?(@company).should be_true
end
Вид:
#app/views/companies/_follow_button.html.slim
= link_to change_follow_state_company_path(@company), :method => :put, :remote => true, :id => "follow", :class => "btn_block light" do
' Follow
И Тестовая конфигурация:
#spec/integration_helper.rb
require 'spec_helper'
require File.expand_path("../../config/environment", __FILE__)
require 'rspec/rails'
require 'capybara/rspec'
require 'capybara/rails'
Dir[Rails.root.join("spec/integration/support/**/*.rb")].each {|f| require f}
RSpec.configure do |config|
config.use_transactional_fixtures = true
config.before do
clear_email_queue
end
end
Rails.cache.clear
Что такое тестовый журнал? –
@Gawyn: вы нашли решение для этого? я также имею такую же проблему. – Alan