Skip to content

Commit 254c052

Browse files
committed
Add chrome-headless for testing
Remove `poltergeist`. Replace it with Chrome-Headless
1 parent 081593e commit 254c052

File tree

7 files changed

+39
-45
lines changed

7 files changed

+39
-45
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
Gemfile.lock
2+
coverage/
3+
spec/rails/rails-5.2.1/

Gemfile

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,19 @@ source 'https://rubygems.org'
33
# Specify your gem's dependencies in active_admin_datetimepicker.gemspec
44
gemspec
55
group :test do
6-
default_rails_version = '4.2.7'
7-
default_activeadmin_version = '1.1.0'
8-
gem 'sprockets-rails', '2.3.3'
9-
gem 'rails', "#{ENV['RAILS'] || default_rails_version}"
6+
default_rails_version = '5.2.1'
7+
default_activeadmin_version = '1.3.1'
8+
9+
gem 'rails', "~> #{ENV['RAILS'] || default_rails_version}"
10+
gem 'activeadmin', "~> #{ENV['AA'] || default_activeadmin_version}"
11+
1012
gem 'rspec-rails'
11-
gem 'activeadmin', "#{ENV['AA'] || default_activeadmin_version}"
1213
gem 'coveralls', require: false # Test coverage website. Go to https://coveralls.io
1314
gem 'sass-rails'
1415
gem 'sqlite3'
1516
gem 'launchy'
1617
gem 'database_cleaner'
1718
gem 'capybara'
1819
gem 'selenium-webdriver'
19-
gem 'poltergeist'
20+
gem 'chromedriver-helper'
2021
end

active_admin_datetimepicker.gemspec

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,6 @@ Gem::Specification.new do |spec|
1919
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
2020
spec.require_paths = ["lib"]
2121

22-
spec.add_dependency "xdan-datetimepicker-rails", "~> 2.5.1"
2322
spec.add_dependency "activeadmin", "~> 1.1"
24-
spec.add_development_dependency "bundler", "~> 1.8"
25-
spec.add_development_dependency "rake", "~> 10.0"
26-
23+
spec.add_dependency "xdan-datetimepicker-rails", "~> 2.5.4"
2724
end

spec/rails/.keep

Whitespace-only changes.

spec/spec_helper.rb

Lines changed: 5 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,12 @@
3030
ActiveAdmin.application.current_user_method = false
3131

3232
require 'rspec/rails'
33-
require 'support/admin'
3433
require 'capybara/rails'
3534
require 'capybara/rspec'
36-
require 'capybara/poltergeist'
35+
require 'selenium-webdriver'
3736

37+
require 'support/admin'
38+
require 'support/capybara'
3839

3940
RSpec.configure do |config|
4041
config.use_transactional_fixtures = false
@@ -43,42 +44,13 @@
4344
DatabaseCleaner.strategy = :truncation
4445
DatabaseCleaner.clean_with(:truncation)
4546
end
47+
4648
config.before(:each) do
4749
DatabaseCleaner.strategy = :truncation
4850
DatabaseCleaner.start
4951
end
52+
5053
config.after(:each) do
5154
DatabaseCleaner.clean
5255
end
53-
5456
end
55-
56-
57-
Capybara.default_selector = :css
58-
59-
Capybara.configure do |config|
60-
config.match = :prefer_exact
61-
config.ignore_hidden_elements = false
62-
end
63-
64-
# Capybara.javascript_driver = :selenium
65-
#
66-
# RSpec.configure do |config|
67-
# config.before(:each, js: true) do
68-
# page.driver.browser.manage.window.maximize if page.driver.browser.respond_to?(:manage)
69-
# end
70-
# end
71-
#
72-
73-
Capybara.register_driver :poltergeist do |app|
74-
Capybara::Poltergeist::Driver.new(app, {
75-
js_errors: true,
76-
timeout: 80,
77-
debug: true,
78-
:phantomjs_options => ['--debug=no', '--load-images=no']
79-
80-
})
81-
end
82-
83-
Capybara.javascript_driver = :poltergeist
84-

spec/support/capybara.rb

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
Capybara.server = :webrick
2+
3+
Capybara.configure do |config|
4+
config.match = :prefer_exact
5+
end
6+
7+
Capybara.register_driver :selenium_chrome do |app|
8+
options = Selenium::WebDriver::Chrome::Options.new(
9+
args: %w[headless disable-gpu no-sandbox]
10+
)
11+
Capybara::Selenium::Driver.new(app, browser: :chrome, options: options)
12+
end
13+
14+
Capybara.javascript_driver = :selenium_chrome

tasks/test.rake

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,13 @@
11
desc "Creates a test rails app for the specs to run against"
22
task :setup do
33
require 'rails/version'
4-
system("mkdir spec/rails") unless File.exists?("spec/rails")
5-
system "bundle exec rails new spec/rails/rails-#{Rails::VERSION::STRING} -m spec/support/rails_template.rb --skip-spring"
4+
5+
rails_new_opts = %w(
6+
--skip-turbolinks
7+
--skip-spring
8+
--skip-bootsnap
9+
-m
10+
spec/support/rails_template.rb
11+
)
12+
system "bundle exec rails new spec/rails/rails-#{Rails::VERSION::STRING} #{rails_new_opts.join(' ')}"
613
end

0 commit comments

Comments
 (0)