Class: ActionDispatch::IntegrationTest

Inherits:
Object
  • Object
show all
Includes:
Capybara::DSL, Minitest::Utils::Locale, Minitest::Utils::UrlHelpers
Defined in:
lib/minitest/utils/rails/locale.rb,
lib/minitest/utils/rails/capybara.rb

Class Method Summary collapse

Methods included from Minitest::Utils::Locale

included

Methods included from Minitest::Utils::UrlHelpers

#default_url_options

Class Method Details

.use_javascript!(raise_on_javascript_errors: true) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/minitest/utils/rails/capybara.rb', line 14

def self.use_javascript!(raise_on_javascript_errors: true)
  setup do
    Capybara.current_driver = Capybara.javascript_driver
  end

  teardown do
    next if failures.any?
    next unless raise_on_javascript_errors

    errors = page.driver.browser.manage.logs.get(:browser).select do |log|
      log.level == "SEVERE"
    end

    next unless errors.any?

    messages = errors
               .map(&:message)
               .map! {|message| message[/(\d+:\d+ .*?)$/, 1] }
               .join("\n")

    raise "JavaScript Errors\n#{messages}"
  end
end