Extract Capybara setup to a helper file

Any Capybara-related test setup has been moved to `capybara_helper.rb`.
Now we just must require this file in order to run tests with Capybara.

I also moved the `#console_log` helper to this file to showcase how
other global helper methods could be defined in this file.
This commit is contained in:
benjamin wil
2022-08-14 14:25:01 -07:00
committed by benjamin wil
parent ce85301e70
commit d66a46f044
3 changed files with 27 additions and 12 deletions
+21
View File
@@ -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
-1
View File
@@ -32,7 +32,6 @@ ENV['RACK_ENV'] = 'test'
require 'gollum' require 'gollum'
require 'gollum/app' require 'gollum/app'
CAPYBARA_DRIVER = ENV['CI'] ? :selenium_chrome_headless : ENV.fetch('CAPYBARA_DRIVER', :selenium_chrome).to_sym
# Disable the metadata feature # Disable the metadata feature
$METADATA = false $METADATA = false
+1 -6
View File
@@ -1,9 +1,4 @@
require File.expand_path(File.join(File.dirname(__FILE__), '..', 'helper')) require_relative '../capybara_helper'
require 'selenium-webdriver'
require 'capybara/dsl'
Capybara.default_driver = ::CAPYBARA_DRIVER
Capybara.server = :webrick
def console_log(page, level = :severe) def console_log(page, level = :severe)
page.driver.browser.logs.get(:browser).select{|log| log.level == level.to_s.upcase } page.driver.browser.logs.get(:browser).select{|log| log.level == level.to_s.upcase }