Skip to content

Commit

Permalink
Merge pull request #23 from solidusio-contrib/elia/apparition
Browse files Browse the repository at this point in the history
Replace selenium-webdriver with apparition
  • Loading branch information
elia authored Dec 6, 2019
2 parents 4b46885 + 108b926 commit ce98e83
Show file tree
Hide file tree
Showing 7 changed files with 25 additions and 23 deletions.
3 changes: 1 addition & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,7 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

### Added

- Adopted [Webdrivers](https://github.com/titusfortner/webdrivers) to keep Selenium WebDrivers
updated
- Adopted [Apparition](https://github.com/twalpole/apparition) as the deafult JS driver for Capybara
- Fix window size to 1920x1080px in feature specs

### Changed
Expand Down
14 changes: 12 additions & 2 deletions lib/solidus_extension_dev_tools/rake_tasks.rb
Original file line number Diff line number Diff line change
Expand Up @@ -28,15 +28,25 @@ def install_test_app_task
require 'rake/clean'
::CLOBBER.include test_app_path

ENV['DUMMY_PATH'] = test_app_path
ENV['DUMMY_PATH'] = test_app_path.to_s
ENV['LIB_NAME'] = gemspec.name
require 'spree/testing_support/extension_rake'

namespace :extension do
directory ENV['DUMMY_PATH'] do
Rake::Task['extension:test_app']

# We need to go back to the gem root since extension:test_app changes
# the working directory to be the dummy app.
cd root
end
end
end

def install_rspec_task
namespace :extension do
require 'rspec/core/rake_task'
::RSpec::Core::RakeTask.new(:specs, [] => :test_app) do |t|
::RSpec::Core::RakeTask.new(:specs, [] => FileList[ENV['DUMMY_PATH']]) do |t|
# Ref: https://circleci.com/docs/2.0/configuration-reference#store_test_results
# Ref: https://github.com/solidusio/circleci-orbs-extensions#test-results-rspec
if ENV['TEST_RESULTS_PATH']
Expand Down
2 changes: 1 addition & 1 deletion lib/solidus_extension_dev_tools/rspec/coverage.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
#
# Include it AT THE TOP of your spec/spec_helper.rb:
#
# require 'solidus_extension_dev_tools/extension/coverage'
# require 'solidus_extension_dev_tools/rspec/coverage'
#
# Note that things may not work properly if you don't include this at the very top!
#
Expand Down
21 changes: 7 additions & 14 deletions lib/solidus_extension_dev_tools/rspec/feature_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,27 +4,20 @@
#
# Can be required from an extension's spec/feature_helper.rb
#
# require 'solidus_extension_dev_tools/extension/feature_helper'
# require 'solidus_extension_dev_tools/rspec/feature_helper'
#

require 'solidus_extension_dev_tools/rspec/rails_helper'

require 'capybara-screenshot/rspec'
require 'webdrivers'
require 'selenium/webdriver'
require 'capybara/apparition'

Capybara.javascript_driver = (ENV['CAPYBARA_DRIVER'] || :selenium_chrome_headless).to_sym
Capybara.javascript_driver = (ENV['CAPYBARA_DRIVER'] || :apparition).to_sym
Capybara.default_max_wait_time = 10
Capybara.server = :webrick
Capybara.register_driver :selenium_chrome_headless do |app|
Capybara::Selenium::Driver.load_selenium
browser_options = ::Selenium::WebDriver::Chrome::Options.new.tap do |opts|
opts.args << '--headless'
opts.args << '--disable-gpu' if Gem.win_platform?
opts.args << '--disable-site-isolation-trials'
opts.args << '--window-size=1920,1080'
end
Capybara::Selenium::Driver.new(app, browser: :chrome, options: browser_options)
Capybara.server = :puma, { Silent: true } # A fix for rspec/rspec-rails#1897

Capybara.register_driver :apparition do |app|
Capybara::Apparition::Driver.new(app, window_size: [1920, 1080])
end

require 'spree/testing_support/capybara_ext'
Expand Down
2 changes: 1 addition & 1 deletion lib/solidus_extension_dev_tools/rspec/rails_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
#
# Can be required from an extension's spec/rails_helper.rb
#
# require 'solidus_extension_dev_tools/extension/rails_helper'
# require 'solidus_extension_dev_tools/rspec/rails_helper'
#

require 'solidus_extension_dev_tools/rspec/spec_helper'
Expand Down
2 changes: 1 addition & 1 deletion lib/solidus_extension_dev_tools/rspec/spec_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
#
# Can be required from an extension's spec/spec_helper.rb
#
# require 'solidus_extension_dev_tools/extension/spec_helper'
# require 'solidus_extension_dev_tools/rspec/spec_helper'
#

RSpec.configure do |config|
Expand Down
4 changes: 2 additions & 2 deletions solidus_extension_dev_tools.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ Gem::Specification.new do |spec|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
spec.require_paths = ['lib']

spec.add_dependency 'apparition', '~> 0.4'
spec.add_dependency 'capybara', '~> 3.29'
spec.add_dependency 'capybara-screenshot', '~> 1.0'
spec.add_dependency 'codecov', '~> 0.1.16'
Expand All @@ -34,16 +35,15 @@ Gem::Specification.new do |spec|
spec.add_dependency 'ffaker', '~> 2.13'
spec.add_dependency 'gem-release', '~> 2.1'
spec.add_dependency 'github_changelog_generator', '~> 1.15'
spec.add_dependency 'puma', '~> 4.3'
spec.add_dependency 'rspec-rails', '~> 4.0.0.beta3'
spec.add_dependency 'rspec_junit_formatter'
spec.add_dependency 'rubocop', '~> 0.76.0'
spec.add_dependency 'rubocop-performance', '~> 1.5'
spec.add_dependency 'rubocop-rails', '~> 2.3'
spec.add_dependency 'rubocop-rspec', '~> 1.36'
spec.add_dependency 'selenium-webdriver', '~> 3.142'
spec.add_dependency 'solidus_core', ['>= 2.0', '< 3']
spec.add_dependency 'solidus_support', '~> 0.3.3'
spec.add_dependency 'webdrivers', '~> 4.1'

spec.add_development_dependency 'bundler'
spec.add_development_dependency 'rake'
Expand Down

0 comments on commit ce98e83

Please # to comment.