spree_cmd 4.1.0.rc3 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d90215d72b3377069857274b0681839c2db86159c5da3a0d5b5b4010155f7ba6
4
- data.tar.gz: b1a0149b53628b34a8c9272e0c7b71b6ebc9acbc6a8dae052627ab7a4c5cc58a
3
+ metadata.gz: 2b4c4779e163ba3a0008266518ac9c1e758c600147479248c84385ecf75d0cd4
4
+ data.tar.gz: 27dc250aa4d562971b3a47a6deac27b85df4499adc1208b720598ed7d39accb3
5
5
  SHA512:
6
- metadata.gz: d55011895bea73fca67ce956632ec8810814cc68ee88a108338bc3001879309877c36b8e620f6b327f39a0da9f6bf15de5073584701c67407fb4ff36c96574e5
7
- data.tar.gz: 24987d514b0878f82f243fc308874db0daaa3738044030f002199765482a90d774bc6ce670ec4db589b86d42bb14a0637cdc8f71d35728d4746cdfd71f8d4f26
6
+ metadata.gz: de60c038215efb69c3fc5ffd0288ad3f4f7945630279d30c8243f21a91c886fd950136938fa4af7fa1068273449e6ca01ce11e5fc66d19f0064a5f0a5f2dc27b
7
+ data.tar.gz: fa570c5b302e55961367244d6fa4d4eb82a95be379862d2ba2f781a3f839ecf724a96fb3657b7946f888b340cbc1eda09b897a431bbcf7f4394df946c889e5f3
@@ -1,6 +1,6 @@
1
1
  AllCops:
2
2
  DisplayCopNames: true
3
- TargetRubyVersion: 2.3
3
+ TargetRubyVersion: 2.5
4
4
  Include:
5
5
  - '**/Gemfile'
6
6
  - '**/Rakefile'
@@ -1,28 +1,24 @@
1
- appraise 'spree-3-5' do
2
- gem 'spree_core', '~> 3.5.0'
3
- gem 'spree_backend', '~> 3.5.0'
4
- gem 'spree_auth_devise', '~> 3.4.0'
5
- gem 'rails-controller-testing'
6
- end
7
-
8
1
  appraise 'spree-3-7' do
9
- gem 'spree_core', '~> 3.7.0'
10
- gem 'spree_backend', '~> 3.7.0'
2
+ gem 'spree', '~> 3.7.0'
11
3
  gem 'spree_auth_devise', '~> 3.5.0'
12
4
  gem 'rails-controller-testing'
13
5
  gem 'sass-rails'
14
6
  end
15
7
 
16
8
  appraise 'spree-4-0' do
17
- gem 'spree_core', '~> 4.0.0'
18
- gem 'spree_backend', '~> 4.0.0'
19
- gem 'spree_auth_devise', '~> 4.0'
9
+ gem 'spree', '~> 4.0.0'
10
+ gem 'spree_auth_devise', '~> 4.0.0'
11
+ gem 'rails-controller-testing'
12
+ end
13
+
14
+ appraise 'spree-4-1' do
15
+ gem 'spree', '~> 4.1.0'
16
+ gem 'spree_auth_devise', '~> 4.1.0'
20
17
  gem 'rails-controller-testing'
21
18
  end
22
19
 
23
20
  appraise 'spree-master' do
24
- gem 'spree_core', github: 'spree/spree', branch: 'master'
25
- gem 'spree_backend', github: 'spree/spree', branch: 'master'
21
+ gem 'spree', github: 'spree/spree', branch: 'master'
26
22
  gem 'spree_auth_devise', github: 'spree/spree_auth_devise', branch: 'master'
27
23
  gem 'rails-controller-testing'
28
24
  end
@@ -5,8 +5,7 @@ git_source(:github) do |repo_name|
5
5
  "https://github.com/#{repo_name}.git"
6
6
  end
7
7
 
8
- gem 'spree_core', github: 'spree/spree', branch: 'master'
9
- gem 'spree_backend', github: 'spree/spree', branch: 'master'
8
+ gem 'spree', github: 'spree/spree', branch: 'master'
10
9
  # Provides basic authentication functionality for testing parts of your engine
11
10
  gem 'spree_auth_devise', github: 'spree/spree_auth_devise', branch: 'master'
12
11
  gem 'rails-controller-testing'
@@ -5,19 +5,22 @@ Introduction goes here.
5
5
  ## Installation
6
6
 
7
7
  1. Add this extension to your Gemfile with this line:
8
- ```ruby
9
- gem '<%= file_name %>', github: '[your-github-handle]/<%= file_name %>'
10
- ```
11
8
 
12
- 2. Install the gem using Bundler:
13
- ```ruby
14
- bundle install
15
- ```
9
+ ```ruby
10
+ gem '<%= file_name %>', github: '[your-github-handle]/<%= file_name %>'
11
+ ```
12
+
13
+ 2. Install the gem using Bundler
14
+
15
+ ```ruby
16
+ bundle install
17
+ ```
16
18
 
17
19
  3. Copy & run migrations
18
- ```ruby
19
- bundle exec rails g <%= file_name %>:install
20
- ```
20
+
21
+ ```ruby
22
+ bundle exec rails g <%= file_name %>:install
23
+ ```
21
24
 
22
25
  4. Restart your server
23
26
 
@@ -39,7 +42,6 @@ Simply add this require statement to your spec_helper:
39
42
  require '<%= file_name %>/factories'
40
43
  ```
41
44
 
42
-
43
45
  ## Contributing
44
46
 
45
47
  If you'd like to contribute, please take a look at the
@@ -23,6 +23,7 @@ Gem::Specification.new do |s|
23
23
 
24
24
  spree_version = '>= 3.2.0', '< 5.0'
25
25
  s.add_dependency 'spree_core', spree_version
26
+ s.add_dependency 'spree_api', spree_version
26
27
  s.add_dependency 'spree_backend', spree_version
27
28
  s.add_dependency 'spree_extension'
28
29
 
@@ -32,7 +33,7 @@ Gem::Specification.new do |s|
32
33
  s.add_development_dependency 'capybara-screenshot'
33
34
  s.add_development_dependency 'coffee-rails'
34
35
  s.add_development_dependency 'database_cleaner'
35
- s.add_development_dependency 'factory_bot', '~> 4.7'
36
+ s.add_development_dependency 'factory_bot'
36
37
  s.add_development_dependency 'ffaker'
37
38
  s.add_development_dependency 'mysql2'
38
39
  s.add_development_dependency 'pg'
@@ -41,5 +42,5 @@ Gem::Specification.new do |s|
41
42
  s.add_development_dependency 'sass-rails'
42
43
  s.add_development_dependency 'simplecov'
43
44
  s.add_development_dependency 'sqlite3'
44
- s.add_development_dependency 'webdrivers', '~> 4.0.0'
45
+ s.add_development_dependency 'webdrivers'
45
46
  end
@@ -3,8 +3,7 @@
3
3
  source 'https://rubygems.org'
4
4
 
5
5
  gem 'rails-controller-testing'
6
- gem 'spree_core', '~> 3.7.0'
7
- gem 'spree_backend', '~> 3.7.0'
6
+ gem 'spree', '~> 3.7.0'
8
7
  gem 'spree_auth_devise', '~> 3.5.0'
9
8
  gem 'sass-rails'
10
9
 
@@ -3,8 +3,7 @@
3
3
  source 'https://rubygems.org'
4
4
 
5
5
  gem 'rails-controller-testing'
6
- gem 'spree_core', '~> 4.0.0'
7
- gem 'spree_backend', '~> 4.0.0'
8
- gem 'spree_auth_devise', '~> 4.0'
6
+ gem 'spree', '~> 4.0.0'
7
+ gem 'spree_auth_devise', '~> 4.0.0'
9
8
 
10
9
  gemspec path: '../'
@@ -3,8 +3,7 @@
3
3
  source 'https://rubygems.org'
4
4
 
5
5
  gem 'rails-controller-testing'
6
- gem 'spree_core', '~> 3.5.0'
7
- gem 'spree_backend', '~> 3.5.0'
8
- gem 'spree_auth_devise', '~> 3.4.0'
6
+ gem 'spree', '~> 4.1.0'
7
+ gem 'spree_auth_devise', '~> 4.1.0'
9
8
 
10
9
  gemspec path: '../'
@@ -3,8 +3,7 @@
3
3
  source 'https://rubygems.org'
4
4
 
5
5
  gem 'rails-controller-testing'
6
- gem 'spree_core', github: 'spree/spree', branch: 'master'
7
- gem 'spree_backend', github: 'spree/spree', branch: 'master'
6
+ gem 'spree', github: 'spree/spree', branch: 'master'
8
7
  gem 'spree_auth_devise', github: 'spree/spree_auth_devise', branch: 'master'
9
8
 
10
9
  gemspec path: '../'
@@ -3,14 +3,6 @@ module <%= class_name %>
3
3
  class InstallGenerator < Rails::Generators::Base
4
4
  class_option :auto_run_migrations, type: :boolean, default: false
5
5
 
6
- def add_javascripts
7
- append_file 'vendor/assets/javascripts/spree/backend/all.js', "//= require spree/backend/<%= file_name %>\n"
8
- end
9
-
10
- def add_stylesheets
11
- inject_into_file 'vendor/assets/stylesheets/spree/backend/all.css', " *= require spree/backend/<%= file_name %>\n", before: %r{\*\/}, verbose: true
12
- end
13
-
14
6
  def add_migrations
15
7
  run 'bundle exec rake railties:install:migrations FROM=<%= file_name %>'
16
8
  end
@@ -18,9 +10,9 @@ module <%= class_name %>
18
10
  def run_migrations
19
11
  run_migrations = options[:auto_run_migrations] || ['', 'y', 'Y'].include?(ask('Would you like to run the migrations now? [Y/n]'))
20
12
  if run_migrations
21
- run 'bundle exec rake db:migrate'
13
+ run 'bundle exec rails db:migrate'
22
14
  else
23
- puts 'Skipping rake db:migrate, don\'t forget to run it!'
15
+ puts 'Skipping rails db:migrate, don\'t forget to run it!'
24
16
  end
25
17
  end
26
18
  end
@@ -7,6 +7,7 @@ SimpleCov.start do
7
7
  add_group 'Mailers', 'app/mailers'
8
8
  add_group 'Models', 'app/models'
9
9
  add_group 'Views', 'app/views'
10
+ add_group 'Services', 'app/services'
10
11
  add_group 'Libraries', 'lib/spree'
11
12
  end
12
13
 
@@ -28,7 +29,15 @@ require 'spree/testing_support/authorization_helpers'
28
29
  require 'spree/testing_support/capybara_ext'
29
30
  require 'spree/testing_support/controller_requests'
30
31
  require 'spree/testing_support/factories'
32
+ require 'spree/testing_support/preferences'
33
+ require 'spree/testing_support/flash'
31
34
  require 'spree/testing_support/url_helpers'
35
+ require 'spree/testing_support/order_walkthrough'
36
+ require 'spree/testing_support/caching'
37
+
38
+ # API v2 helpers
39
+ require 'spree/api/testing_support/v2/base'
40
+ require 'spree/api/testing_support/v2/current_order'
32
41
 
33
42
  RSpec.configure do |config|
34
43
  # Infer an example group's spec type from the file location.
@@ -63,4 +72,28 @@ RSpec.configure do |config|
63
72
 
64
73
  config.fail_fast = ENV['FAIL_FAST'] || false
65
74
  config.order = 'random'
75
+
76
+ config.before :each do
77
+ Rails.cache.clear
78
+ reset_spree_preferences do |config|
79
+ # config.my_custom_preference = 10
80
+ end
81
+ end
82
+
83
+ config.before(:each, type: :controller) do
84
+ @request.env['devise.mapping'] = Devise.mappings[:spree_user]
85
+ end
86
+
87
+ config.include Spree::TestingSupport::Preferences
88
+ config.include Spree::TestingSupport::ControllerRequests, type: :controller
89
+ config.include Spree::TestingSupport::Flash
90
+
91
+ config.include Devise::TestHelpers, type: :controller if defined?(Devise)
92
+
93
+ if defined?(Warden)
94
+ config.include Warden::Test::Helpers
95
+ config.before :suite do
96
+ Warden.test_mode!
97
+ end
98
+ end
66
99
  end
@@ -0,0 +1,15 @@
1
+ def add_to_cart(product)
2
+ visit spree.product_path(product)
3
+
4
+ expect(page).to have_selector('form#add-to-cart-form')
5
+ expect(page).to have_selector(:button, id: 'add-to-cart-button', disabled: false)
6
+ click_button 'add-to-cart-button'
7
+ expect(page).to have_content(Spree.t(:added_to_cart))
8
+
9
+ if block_given?
10
+ yield
11
+ else
12
+ click_link 'View cart'
13
+ expect(page).to have_content 'YOUR SHOPPING CART'
14
+ end
15
+ end
@@ -1,23 +1,27 @@
1
1
  require 'capybara/rspec'
2
- require 'capybara-screenshot'
3
2
  require 'capybara-screenshot/rspec'
4
3
  require 'capybara/rails'
4
+ require 'webdrivers/chromedriver'
5
+ require 'selenium/webdriver'
5
6
 
6
- RSpec.configure do
7
- Capybara.register_driver :chrome do |app|
8
- Selenium::WebDriver.logger.level = :error
9
-
10
- Capybara::Selenium::Driver.new app,
11
- browser: :chrome,
12
- options: Selenium::WebDriver::Chrome::Options.new(
13
- args: %w[headless disable-gpu window-size=1920,1080 --enable-features=NetworkService,NetworkServiceInProcess --disable-features=VizDisplayCompositor],
14
- log_level: :error
15
- )
16
- end
17
- Capybara.javascript_driver = :chrome
7
+ if ENV['CIRCLE_NODE_INDEX'].present?
8
+ Webdrivers.install_dir = File.expand_path('~/.webdrivers/' + ENV['CIRCLE_NODE_INDEX'].to_s)
9
+ end
18
10
 
19
- Capybara::Screenshot.register_driver(:chrome) do |driver, path|
20
- driver.browser.save_screenshot(path)
21
- end
11
+ # capybara-screenshot
12
+ Capybara.save_path = ENV.fetch('CIRCLE_ARTIFACTS', Rails.root.join('tmp', 'capybara')).to_s
13
+ Capybara::Screenshot.prune_strategy = { keep: 20 }
14
+ Capybara::Screenshot.register_driver(:chrome) do |driver, path|
15
+ driver.browser.save_screenshot(path)
16
+ end
22
17
 
18
+ Capybara.register_driver :chrome do |app|
19
+ Capybara::Selenium::Driver.new app,
20
+ browser: :chrome,
21
+ options: Selenium::WebDriver::Chrome::Options.new(
22
+ args: %w[no-sandbox disable-dev-shm-usage disable-popup-blocking headless disable-gpu window-size=1920,1080 --enable-features=NetworkService,NetworkServiceInProcess --disable-features=VizDisplayCompositor],
23
+ log_level: :error
24
+ )
23
25
  end
26
+
27
+ Capybara.javascript_driver = :chrome
@@ -12,9 +12,9 @@ addons:
12
12
  postgresql: 9.4
13
13
 
14
14
  gemfile:
15
- - gemfiles/spree_3_5.gemfile
16
15
  - gemfiles/spree_3_7.gemfile
17
16
  - gemfiles/spree_4_0.gemfile
17
+ - gemfiles/spree_4_1.gemfile
18
18
  - gemfiles/spree_master.gemfile
19
19
 
20
20
  script:
@@ -23,23 +23,10 @@ script:
23
23
 
24
24
  rvm:
25
25
  - 2.5.1
26
- - 2.4.4
27
- - 2.3.8
28
26
 
29
27
  matrix:
30
28
  allow_failures:
31
29
  - gemfile: gemfiles/spree_master.gemfile
32
- exclude:
33
- - rvm: 2.3.8
34
- gemfile: gemfiles/spree_4_0.gemfile
35
- - rvm: 2.4.4
36
- gemfile: gemfiles/spree_4_0.gemfile
37
- - rvm: 2.3.8
38
- gemfile: gemfiles/spree_master.gemfile
39
- - rvm: 2.4.4
40
- gemfile: gemfiles/spree_master.gemfile
41
- - rvm: 2.5.1
42
- gemfile: gemfiles/spree_3_5.gemfile
43
30
 
44
31
  before_install:
45
32
  - mysql -u root -e "GRANT ALL ON *.* TO 'travis'@'%';"
data/spree_cmd.gemspec CHANGED
@@ -19,5 +19,5 @@ Gem::Specification.new do |s|
19
19
 
20
20
  s.add_development_dependency 'rspec'
21
21
  # Temporary hack until https://github.com/wycats/thor/issues/234 is fixed
22
- s.add_dependency 'thor', '~> 0.14'
22
+ s.add_dependency 'thor', '>= 0.14', '< 2.0'
23
23
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spree_cmd
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.1.0.rc3
4
+ version: 4.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Mar
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-02-14 00:00:00.000000000 Z
11
+ date: 2020-03-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -28,16 +28,22 @@ dependencies:
28
28
  name: thor
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0.14'
34
+ - - "<"
35
+ - !ruby/object:Gem::Version
36
+ version: '2.0'
34
37
  type: :runtime
35
38
  prerelease: false
36
39
  version_requirements: !ruby/object:Gem::Requirement
37
40
  requirements:
38
- - - "~>"
41
+ - - ">="
39
42
  - !ruby/object:Gem::Version
40
43
  version: '0.14'
44
+ - - "<"
45
+ - !ruby/object:Gem::Version
46
+ version: '2.0'
41
47
  description: tools to create new Spree stores and extensions
42
48
  email:
43
49
  - chris@spreecommerce.com
@@ -61,17 +67,13 @@ files:
61
67
  - lib/spree_cmd/templates/extension/LICENSE
62
68
  - lib/spree_cmd/templates/extension/README.md
63
69
  - lib/spree_cmd/templates/extension/Rakefile
64
- - lib/spree_cmd/templates/extension/app/assets/javascripts/spree/backend/%file_name%.js
65
- - lib/spree_cmd/templates/extension/app/assets/javascripts/spree/frontend/%file_name%.js
66
- - lib/spree_cmd/templates/extension/app/assets/stylesheets/spree/backend/%file_name%.css
67
- - lib/spree_cmd/templates/extension/app/assets/stylesheets/spree/frontend/%file_name%.css
68
70
  - lib/spree_cmd/templates/extension/bin/rails.tt
69
71
  - lib/spree_cmd/templates/extension/config/locales/en.yml
70
72
  - lib/spree_cmd/templates/extension/config/routes.rb
71
73
  - lib/spree_cmd/templates/extension/extension.gemspec
72
- - lib/spree_cmd/templates/extension/gemfiles/spree_3_5.gemfile
73
74
  - lib/spree_cmd/templates/extension/gemfiles/spree_3_7.gemfile
74
75
  - lib/spree_cmd/templates/extension/gemfiles/spree_4_0.gemfile
76
+ - lib/spree_cmd/templates/extension/gemfiles/spree_4_1.gemfile
75
77
  - lib/spree_cmd/templates/extension/gemfiles/spree_master.gemfile
76
78
  - lib/spree_cmd/templates/extension/gitignore
77
79
  - lib/spree_cmd/templates/extension/lib/%file_name%.rb.tt
@@ -82,6 +84,7 @@ files:
82
84
  - lib/spree_cmd/templates/extension/rspec
83
85
  - lib/spree_cmd/templates/extension/spec/.rubocop.yml
84
86
  - lib/spree_cmd/templates/extension/spec/spec_helper.rb
87
+ - lib/spree_cmd/templates/extension/spec/support/add_to_cart.rb
85
88
  - lib/spree_cmd/templates/extension/spec/support/capybara.rb
86
89
  - lib/spree_cmd/templates/extension/spec/support/database_cleaner.rb
87
90
  - lib/spree_cmd/templates/extension/spec/support/factory_bot.rb
@@ -102,9 +105,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
102
105
  version: '0'
103
106
  required_rubygems_version: !ruby/object:Gem::Requirement
104
107
  requirements:
105
- - - ">"
108
+ - - ">="
106
109
  - !ruby/object:Gem::Version
107
- version: 1.3.1
110
+ version: '0'
108
111
  requirements: []
109
112
  rubygems_version: 3.0.6
110
113
  signing_key:
@@ -1,2 +0,0 @@
1
- // Placeholder manifest file.
2
- // the installer will append this file to the app vendored assets here: vendor/assets/javascripts/spree/backend/all.js'
@@ -1,2 +0,0 @@
1
- // Placeholder manifest file.
2
- // the installer will append this file to the app vendored assets here: vendor/assets/javascripts/spree/frontend/all.js'
@@ -1,4 +0,0 @@
1
- /*
2
- Placeholder manifest file.
3
- the installer will append this file to the app vendored assets here: 'vendor/assets/stylesheets/spree/backend/all.css'
4
- */
@@ -1,4 +0,0 @@
1
- /*
2
- Placeholder manifest file.
3
- the installer will append this file to the app vendored assets here: 'vendor/assets/stylesheets/spree/frontend/all.css'
4
- */