spree_cmd 4.1.0.rc3 → 4.1.0

Sign up to get free protection for your applications and to get access to all the features.
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
- */