Skip to content

Commit 3b78a74

Browse files
authored
Merge pull request #184 from gsmendoza/gsmendoza/eng-342-fix-window-resizing-of
Fix window resizing of `solidus_chrome_headless` driver
2 parents 7fe651b + 97f7b4e commit 3b78a74

5 files changed

Lines changed: 19 additions & 9 deletions

File tree

lib/solidus_dev_support/rake_tasks.rb

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ def self.install(*args)
1313

1414
def initialize(root: Dir.pwd)
1515
@root = Pathname(root)
16-
@test_app_path = @root.join(ENV['DUMMY_PATH'] || 'spec/dummy')
16+
@test_app_path = @root.join(ENV.fetch('DUMMY_PATH', 'spec/dummy'))
1717
@gemspec = Bundler.load_gemspec(@root.glob("{,*}.gemspec").first)
1818
end
1919

@@ -43,7 +43,7 @@ def install_test_app_task
4343
cd root
4444
end
4545

46-
directory ENV['DUMMY_PATH'] do
46+
directory ENV.fetch('DUMMY_PATH', nil) do
4747
Rake::Task['extension:test_app'].invoke
4848
end
4949
end
@@ -61,7 +61,7 @@ def install_rspec_task
6161
require 'rspec/core/rake_task'
6262

6363
namespace :extension do
64-
::RSpec::Core::RakeTask.new(:specs, [] => FileList[ENV['DUMMY_PATH']]) do |t|
64+
::RSpec::Core::RakeTask.new(:specs, [] => FileList[ENV.fetch('DUMMY_PATH', nil)]) do |t|
6565
# Ref: https://circleci.com/docs/2.0/configuration-reference#store_test_results
6666
# Ref: https://github.com/solidusio/circleci-orbs-extensions#test-results-rspec
6767
if ENV['TEST_RESULTS_PATH']
@@ -82,7 +82,7 @@ def install_changelog_task
8282

8383
config.user = repo.owner
8484
config.project = repo.name
85-
config.future_release = "v#{ENV['UNRELEASED_VERSION'] || gemspec.version}"
85+
config.future_release = "v#{ENV.fetch('UNRELEASED_VERSION') { gemspec.version }}"
8686

8787
rescue Octokit::InvalidRepository
8888
warn <<~WARN

lib/solidus_dev_support/rspec/capybara.rb

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,20 @@
33
require 'webdrivers/chromedriver'
44

55
# Allow to override the initial windows size
6-
CAPYBARA_WINDOW_SIZE = (ENV['CAPYBARA_WINDOW_SIZE'] || '1920x1080').split('x', 2).map(&:to_i)
6+
CAPYBARA_WINDOW_SIZE = ENV.fetch('CAPYBARA_WINDOW_SIZE', '1920x1080').split('x', 2).map(&:to_i)
7+
CAPYBARA_WINDOW_WIDTH = CAPYBARA_WINDOW_SIZE[0]
8+
CAPYBARA_WINDOW_HEIGHT = CAPYBARA_WINDOW_SIZE[1]
79

8-
Capybara.javascript_driver = (ENV['CAPYBARA_JAVASCRIPT_DRIVER'] || "solidus_chrome_headless").to_sym
10+
Capybara.javascript_driver = ENV.fetch('CAPYBARA_JAVASCRIPT_DRIVER', "solidus_chrome_headless").to_sym
911
Capybara.default_max_wait_time = 10
1012
Capybara.server = :puma, { Silent: true } # A fix for rspec/rspec-rails#1897
1113

1214
Capybara.drivers[:selenium_chrome_headless].tap do |original_driver|
1315
Capybara.register_driver :solidus_chrome_headless do |app|
1416
original_driver.call(app).tap do |driver|
15-
driver.options[:options].args << "--window-size=#{CAPYBARA_WINDOW_SIZE.join(',')}"
17+
driver.resize_window_to(
18+
driver.current_window_handle, CAPYBARA_WINDOW_WIDTH, CAPYBARA_WINDOW_HEIGHT
19+
)
1620
end
1721
end
1822
end

lib/solidus_dev_support/rspec/spec_helper.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
config.mock_with :rspec
1515
config.color = true
1616

17-
config.fail_fast = ENV['FAIL_FAST'] || false
17+
config.fail_fast = ENV.fetch('FAIL_FAST', false)
1818
config.order = 'random'
1919

2020
config.raise_errors_for_deprecations!

lib/solidus_dev_support/templates/extension/.circleci/config.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
version: 2.1
22

33
orbs:
4+
# Required for feature specs.
5+
browser-tools: circleci/browser-tools@1.1
6+
47
# Always take the latest version of the orb, this allows us to
58
# run specs against Solidus supported versions only without the need
69
# to change this configuration every time a Solidus version is released
@@ -11,14 +14,17 @@ jobs:
1114
run-specs-with-postgres:
1215
executor: solidusio_extensions/postgres
1316
steps:
17+
- browser-tools/install-browser-tools
1418
- solidusio_extensions/run-tests
1519
run-specs-with-mysql:
1620
executor: solidusio_extensions/mysql
1721
steps:
22+
- browser-tools/install-browser-tools
1823
- solidusio_extensions/run-tests
1924
lint-code:
2025
executor: solidusio_extensions/sqlite-memory
2126
steps:
27+
- browser-tools/install-browser-tools
2228
- solidusio_extensions/lint-code
2329

2430
workflows:

lib/solidus_dev_support/templates/extension/Gemfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ gem 'rails', '>0.a'
1414
# Provides basic authentication functionality for testing parts of your engine
1515
gem 'solidus_auth_devise'
1616

17-
case ENV['DB']
17+
case ENV.fetch('DB', nil)
1818
when 'mysql'
1919
gem 'mysql2'
2020
when 'postgresql'

0 commit comments

Comments
 (0)