Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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