From b164a585237823164b3d65493a646cbcbfb380ce Mon Sep 17 00:00:00 2001 From: Maciej Szlosarczyk Date: Fri, 29 Jun 2018 11:25:55 +0300 Subject: [PATCH] Add new base test class definition --- test/test_helper.rb | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/test/test_helper.rb b/test/test_helper.rb index a55776fd2..7069df7ac 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -11,6 +11,7 @@ require 'minitest/mock' require 'capybara/rails' require 'capybara/minitest' require 'webmock/minitest' +require 'selenium/webdriver' require 'support/rails5_assetions' # Remove once upgraded to Rails 5 Setting.address_processing = false @@ -38,4 +39,29 @@ class ActionDispatch::IntegrationTest Capybara.reset_sessions! Capybara.use_default_driver end -end \ No newline at end of file +end + +class JavascriptIntegrationTest < ActionDispatch::IntegrationTest + Capybara.register_driver(:chrome) do |app| + options = ::Selenium::WebDriver::Chrome::Options.new + + options.add_argument("--headless") + options.add_argument("--no-sandbox") + options.add_argument("--disable-dev-shm-usage") + options.add_argument("--window-size=1400,1400") + + Capybara::Selenium::Driver.new(Rails.application, browser: :chrome, options: options) + end + + Capybara.register_server(:silent_puma) do |app, port, _host| + require "rack/handler/puma" + Rack::Handler::Puma.run(app, Port: port, Threads: "0:2", Silent: true) + end + + def setup + super + + Capybara.current_driver = :chrome + Capybara.server = :silent_puma + end +end