mirror of
https://github.com/internetee/registry.git
synced 2025-06-07 13:15:40 +02:00
In the future, ApplicationSystemTestCase should inherit from ActionDispatch::SystemTestCase and JavaScriptApplicationSystemTestCase could possibly be removed if the `driven_by` method works as it is promised in Rails documentation: http://api.rubyonrails.org/v5.2/classes/ActionDispatch/SystemTestCase.html Consider introducing another class between ActionDispatch::IntegrationTest and other items inheriting from it, as the general Rails practice seems to have `ApplicationIntegrationTest`, as we do have `ApplicationRecord` and `ApplicationController`.
42 lines
1 KiB
Ruby
42 lines
1 KiB
Ruby
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
|