Sha256: 8e937daa3265d661c6242881b754a0a997e042bab53ea6a5529f3aeec267967f

Contents?: true

Size: 833 Bytes

Versions: 33

Compression:

Stored size: 833 Bytes

Contents

module CapybaraWaitTurbolinksRequests
  def wait_turbolinks_requests(timeout = Capybara.default_max_wait_time)
    Timeout.timeout(timeout) do
      sleep 0.1 until all_turbolinks_requests_finished?
    end
  end

  def all_turbolinks_requests_finished?
    have_no_selector("html.turbolinks-load")
  end

  def turbolinks_defined?
    page.evaluate_script("typeof Turbolinks") != "undefined"
  end
end

World(CapybaraWaitTurbolinksRequests)

# Auto wait turbolinks requests between steps
AfterStep do |_scenario|
  if turbolinks_defined?
    execute_script %(
      $(document).on("turbolinks:before-visit", function(){
        $("html").addClass("turbolinks-load")
      })

      $(document).on("turbolinks:load", function(){
        $("html").removeClass("turbolinks-load")
      })
    )

    wait_turbolinks_requests
  end
end

Version data entries

33 entries across 33 versions & 1 rubygems

Version Path
agilibox-2.0.0 lib/agilibox/cucumber_helpers/turbolinks.rb
agilibox-1.11.0 lib/agilibox/cucumber_helpers/turbolinks.rb
agilibox-1.10.5 lib/agilibox/cucumber_helpers/turbolinks.rb
agilibox-1.10.2 lib/agilibox/cucumber_helpers/turbolinks.rb
agilibox-1.10.1 lib/agilibox/cucumber_helpers/turbolinks.rb
agilibox-1.10.0 lib/agilibox/cucumber_helpers/turbolinks.rb
agilibox-1.9.20 lib/agilibox/cucumber_helpers/turbolinks.rb
agilibox-1.9.19 lib/agilibox/cucumber_helpers/turbolinks.rb
agilibox-1.9.18 lib/agilibox/cucumber_helpers/turbolinks.rb
agilibox-1.9.17 lib/agilibox/cucumber_helpers/turbolinks.rb
agilibox-1.9.16 lib/agilibox/cucumber_helpers/turbolinks.rb
agilibox-1.9.15 lib/agilibox/cucumber_helpers/turbolinks.rb
agilibox-1.9.14 lib/agilibox/cucumber_helpers/turbolinks.rb
agilibox-1.9.13 lib/agilibox/cucumber_helpers/turbolinks.rb
agilibox-1.9.12 lib/agilibox/cucumber_helpers/turbolinks.rb
agilibox-1.9.11 lib/agilibox/cucumber_helpers/turbolinks.rb
agilibox-1.9.10 lib/agilibox/cucumber_helpers/turbolinks.rb
agilibox-1.9.9 lib/agilibox/cucumber_helpers/turbolinks.rb
agilibox-1.9.8 lib/agilibox/cucumber_helpers/turbolinks.rb
agilibox-1.9.7 lib/agilibox/cucumber_helpers/turbolinks.rb