diff --git a/test/capybara_helper.rb b/test/capybara_helper.rb new file mode 100644 index 00000000..74b61f96 --- /dev/null +++ b/test/capybara_helper.rb @@ -0,0 +1,21 @@ +require_relative 'helper' + +require 'selenium-webdriver' +require 'capybara/dsl' + +CAPYBARA_DRIVER = + if ENV['CI'] + :selenium_chrome_headless + else + ENV.fetch('CAPYBARA_DRIVER', :selenium_chrome).to_sym + end + +Capybara.default_driver = CAPYBARA_DRIVER +Capybara.enable_aria_label = true +Capybara.server = :webrick + +def console_log(page, level = :severe) + page.driver.browser.logs.get(:browser).select { |log| log.level == level.to_s.upcase } +end + + diff --git a/test/helper.rb b/test/helper.rb index a92a9a21..c4a2ce98 100644 --- a/test/helper.rb +++ b/test/helper.rb @@ -32,7 +32,6 @@ ENV['RACK_ENV'] = 'test' require 'gollum' require 'gollum/app' -CAPYBARA_DRIVER = ENV['CI'] ? :selenium_chrome_headless : ENV.fetch('CAPYBARA_DRIVER', :selenium_chrome).to_sym # Disable the metadata feature $METADATA = false diff --git a/test/integration/test_js_errors.rb b/test/integration/test_js_errors.rb index 56d8ea40..094102ef 100644 --- a/test/integration/test_js_errors.rb +++ b/test/integration/test_js_errors.rb @@ -1,9 +1,4 @@ -require File.expand_path(File.join(File.dirname(__FILE__), '..', 'helper')) -require 'selenium-webdriver' -require 'capybara/dsl' - -Capybara.default_driver = ::CAPYBARA_DRIVER -Capybara.server = :webrick +require_relative '../capybara_helper' def console_log(page, level = :severe) page.driver.browser.logs.get(:browser).select{|log| log.level == level.to_s.upcase } @@ -21,7 +16,7 @@ end context 'Frontend with mathjax' do include Capybara::DSL - + setup do @path = cloned_testpath("examples/lotr.git") @wiki = Gollum::Wiki.new(@path) @@ -29,21 +24,21 @@ context 'Frontend with mathjax' do Precious::App.set(:wiki_options, {mathjax: true}) Capybara.app = Precious::App end - + test 'no unexpected errors on /' do visit '/' log = console_log(page) assert_only_expected_errors(log) end - + test 'no unexpected errors on /create/' do visit '/create/Foobar' log = console_log(page) assert_only_expected_errors(log) end - + teardown do Capybara.reset_sessions! Capybara.use_default_driver end -end \ No newline at end of file +end