Skip to content

Commit

Permalink
tests: poltergeist -> cuprite
Browse files Browse the repository at this point in the history
  • Loading branch information
glebm committed Apr 23, 2020
1 parent 10426b7 commit b97e44f
Show file tree
Hide file tree
Showing 5 changed files with 27 additions and 14 deletions.
2 changes: 1 addition & 1 deletion rails_email_preview.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,9 @@ Gem::Specification.new do |s|

s.add_development_dependency 'i18n-tasks', '>= 0.9.25'
s.add_development_dependency 'capybara', '>= 3.8.2'
s.add_development_dependency 'cuprite', '>= 0.10'
s.add_development_dependency 'rspec-rails', '>= 3.8.0'
s.add_development_dependency 'puma', '>= 3.12.0'
s.add_development_dependency 'poltergeist'

s.version = RailsEmailPreview::VERSION
end
2 changes: 1 addition & 1 deletion spec/features/take_screenshots_spec.rb
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
require 'spec_helper'
unless ENV['TRAVIS']
describe 'Take screenshots', type: :feature, driver: :poltergeist do
describe 'Take screenshots', type: :feature, js: true do
it 'list page' do
visit rails_email_preview.rep_root_path
screenshot! 'list'
Expand Down
2 changes: 1 addition & 1 deletion spec/screenshots
33 changes: 23 additions & 10 deletions spec/spec_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -10,23 +10,36 @@
require 'rspec/rails'
require 'capybara/rails'
require 'capybara/rspec'
require 'capybara/poltergeist'
require 'fileutils'

Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }

poltergeist_opts = {
timeout: 160,
require 'capybara/cuprite'

browser_path = ENV['CHROMIUM_BIN'] || %w[
/usr/bin/chromium-browser
/snap/bin/chromium
/Applications/Chromium.app/Contents/MacOS/Chromium
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome
].find { |path| File.executable?(path) }

Capybara.register_driver :cuprite do |app|
options = {
window_size: [800, 800]
}
Capybara.register_driver(:poltergeist) { |app| Capybara::Poltergeist::Driver.new(app, poltergeist_opts) }
}
options[:browser_path] = browser_path if browser_path
Capybara::Cuprite::Driver.new(app, options)
end

Capybara.javascript_driver = ENV['CAPYBARA_JS_DRIVER']&.to_sym || :cuprite
Capybara.asset_host = ENV['CAPYBARA_ASSET_HOST'] if ENV['CAPYBARA_ASSET_HOST']
Capybara.configure do |config|
config.run_server = true
config.server_port = 7000
config.default_max_wait_time = 10
end

RSpec.configure do |config|
Capybara.configure do |capy|
capy.javascript_driver = :poltergeist
capy.run_server = true
capy.server_port = 7000
end
config.include SaveScreenshots
config.include WithLayout

Expand Down
2 changes: 1 addition & 1 deletion spec/support/save_screenshots.rb
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
require 'fileutils'
module SaveScreenshots
def screenshot!(name)
return unless [:selenium, :webkit, :poltergeist].include?(Capybara.current_driver)
return unless [:selenium, :webkit, :cuprite].include?(Capybara.current_driver)
dir = File.expand_path('../screenshots', File.dirname(__FILE__))
name = "#{name}.png" unless name =~ /\.png$/
FileUtils.mkpath(dir) unless File.directory?(dir)
Expand Down

0 comments on commit b97e44f

Please sign in to comment.