diff --git a/test/application_system_test_case.rb b/test/application_system_test_case.rb new file mode 100644 index 000000000..6c06ef937 --- /dev/null +++ b/test/application_system_test_case.rb @@ -0,0 +1,42 @@ +require 'test_helper' + +require 'database_cleaner' +require 'selenium/webdriver' + +class ApplicationSystemTestCase < ActionDispatch::IntegrationTest; end + +class JavaScriptApplicationSystemTestCase < ApplicationSystemTestCase + self.use_transactional_fixtures = false + DatabaseCleaner.strategy = :truncation + + 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 + DatabaseCleaner.start + + super + + Capybara.current_driver = :chrome + Capybara.server = :silent_puma + end + + def teardown + super + + DatabaseCleaner.clean + end +end diff --git a/test/integration/registrar/sign_in_test.rb b/test/system/registrar/sign_in_test.rb similarity index 93% rename from test/integration/registrar/sign_in_test.rb rename to test/system/registrar/sign_in_test.rb index f8e1caf50..9af5522f9 100644 --- a/test/integration/registrar/sign_in_test.rb +++ b/test/system/registrar/sign_in_test.rb @@ -1,6 +1,6 @@ require 'test_helper' -class RegistrarSignInTest < JavascriptIntegrationTest +class RegistrarAreaSignInTest < JavaScriptApplicationSystemTestCase def setup super WebMock.allow_net_connect! diff --git a/test/test_helper.rb b/test/test_helper.rb index ffef79e0c..500861f75 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -11,9 +11,9 @@ 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 -require 'database_cleaner' + +require 'application_system_test_case' Setting.address_processing = false Setting.registry_country_code = 'US' @@ -41,39 +41,3 @@ class ActionDispatch::IntegrationTest Capybara.use_default_driver end end - -class JavascriptIntegrationTest < ActionDispatch::IntegrationTest - self.use_transactional_fixtures = false - DatabaseCleaner.strategy = :truncation - - 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 - DatabaseCleaner.start - - super - - Capybara.current_driver = :chrome - Capybara.server = :silent_puma - end - - def teardown - super - - DatabaseCleaner.clean - end -end