summaryrefslogtreecommitdiff
path: root/spec/support/wait_for_vue_resource.rb
blob: 3bb3d9c2e5130dd80b92f9aa9aa99a32930566ed (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
module WaitForVueResource
  def wait_for_vue_resource(spinner: true)
    Timeout.timeout(Capybara.default_max_wait_time) do
      loop until finished_all_vue_resource_requests?
    end
  end

  private

  def finished_all_vue_resource_requests?
    return true unless javascript_test?

    page.evaluate_script('window.activeVueResources || 0').zero?
  end

  def javascript_test?
    Capybara.current_driver == Capybara.javascript_driver
  end
end