solidus_dev_support 2.4.1 → 2.5.1

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: d8b89b3a9856d2e920d23a4aa6b111f5d0183ac78c6a4148b1eb41627277bc5a
4
- data.tar.gz: b5ba6eda194e217eb30e965a278f69cf3a0ecd09d3c1b589e66cfbe4bdb49ad5
3
+ metadata.gz: de0e1de74a5245a5b53d6b3a472e9c7135277231a68530530309f7ac40799eab
4
+ data.tar.gz: 50967859e827b59b3e3bc91036e224d6e85a13ab3fae5cbb1d27021e90b27523
5
5
  SHA512:
6
- metadata.gz: 778ebb59f1f980c9a978fb353c3ba68b4e89bdafe1b0f2d4509108fcac286f08e9e7c1923db706ff809f4bea47df6359dfa82c012b8061dcfabc9f0afd5701c1
7
- data.tar.gz: f1de5819cdd6f252490fa1ee458765b1a47dd1a82f46e92b5b7b027fe80682b6955144aaa7491f4bf56cae910133431a2fa7dc842365d9b69170b251d2a8fe3c
6
+ metadata.gz: 3f81406fe09a753bdf323ba7823e72ef581a9cce0ceb67cd884a6703a565c461f604cb92c8449f59d998b9d06e046135a8d5d3d04c44a1a5987b97abee347865
7
+ data.tar.gz: 51c1c774c0252bbce8af10aa3b8369b9dc47f8452c87eb0385fe11a6c849295f19ba6b4e051a7c089d3a9e5baf763d6767fb5355cdb74012cb5892c4b9b4327b
data/CHANGELOG.md CHANGED
@@ -1,5 +1,39 @@
1
1
  # Changelog
2
2
 
3
+ ## [v2.5.0](https://github.com/solidusio/solidus_dev_support/tree/v2.5.0) (2021-04-20)
4
+
5
+ [Full Changelog](https://github.com/solidusio/solidus_dev_support/compare/v2.4.3...v2.5.0)
6
+
7
+ **Implemented enhancements:**
8
+
9
+ - Allow Solidus 3 [\#176](https://github.com/solidusio/solidus_dev_support/pull/176) ([kennyadsl](https://github.com/kennyadsl))
10
+ - Relax Ruby version requirement [\#174](https://github.com/solidusio/solidus_dev_support/pull/174) ([gauravtiwari](https://github.com/gauravtiwari))
11
+
12
+ ## [v2.4.3](https://github.com/solidusio/solidus_dev_support/tree/v2.4.3) (2021-02-23)
13
+
14
+ [Full Changelog](https://github.com/solidusio/solidus_dev_support/compare/v2.4.2...v2.4.3)
15
+
16
+ **Implemented enhancements:**
17
+
18
+ - Add instruction on how to use the new factories in apps [\#172](https://github.com/solidusio/solidus_dev_support/pull/172) ([kennyadsl](https://github.com/kennyadsl))
19
+
20
+ **Fixed bugs:**
21
+
22
+ - Explode directories into individual files [\#171](https://github.com/solidusio/solidus_dev_support/pull/171) ([kennyadsl](https://github.com/kennyadsl))
23
+ - Fix factories loading, part 2 [\#170](https://github.com/solidusio/solidus_dev_support/pull/170) ([kennyadsl](https://github.com/kennyadsl))
24
+
25
+ ## [v2.4.2](https://github.com/solidusio/solidus_dev_support/tree/v2.4.2) (2021-02-19)
26
+
27
+ [Full Changelog](https://github.com/solidusio/solidus_dev_support/compare/v2.4.1...v2.4.2)
28
+
29
+ ## [v2.4.1](https://github.com/solidusio/solidus_dev_support/tree/v2.4.1) (2021-02-19)
30
+
31
+ [Full Changelog](https://github.com/solidusio/solidus_dev_support/compare/v2.4.0...v2.4.1)
32
+
33
+ **Fixed bugs:**
34
+
35
+ - Fix loading factories in extensions after the last changes in Solidus [\#169](https://github.com/solidusio/solidus_dev_support/pull/169) ([kennyadsl](https://github.com/kennyadsl))
36
+
3
37
  ## [v2.4.0](https://github.com/solidusio/solidus_dev_support/tree/v2.4.0) (2021-02-05)
4
38
 
5
39
  [Full Changelog](https://github.com/solidusio/solidus_dev_support/compare/v2.3.0...v2.4.0)
@@ -57,7 +91,7 @@
57
91
  **Implemented enhancements:**
58
92
 
59
93
  - Add standard github\_changelog\_generator configuration [\#151](https://github.com/solidusio/solidus_dev_support/pull/151) ([aldesantis](https://github.com/aldesantis))
60
- - Move generated factories to `testing\_support/` [\#150](https://github.com/solidusio/solidus_dev_support/pull/150) ([aldesantis](https://github.com/aldesantis))
94
+ - Move generated factories to `testing_support/` [\#150](https://github.com/solidusio/solidus_dev_support/pull/150) ([aldesantis](https://github.com/aldesantis))
61
95
  - Add extension configuration boilerplate [\#149](https://github.com/solidusio/solidus_dev_support/pull/149) ([aldesantis](https://github.com/aldesantis))
62
96
 
63
97
  **Fixed bugs:**
@@ -42,10 +42,17 @@ bundle exec rubocop
42
42
  ```
43
43
 
44
44
  When testing your application's integration with this extension you may use its factories.
45
- Simply add this require statement to your spec_helper:
45
+ Simply add this require statement to your `spec/spec_helper.rb`:
46
46
 
47
47
  ```ruby
48
- require '<%= file_name %>/factories'
48
+ require '<%= file_name %>/testing_support/factories'
49
+ ```
50
+
51
+ Or, if you are using `FactoryBot.definition_file_paths`, you can load Solidus core
52
+ factories along with this extension's factories using this statement:
53
+
54
+ ```ruby
55
+ SolidusDevSupport::TestingSupport::Factories.load_for(<%= class_name %>::Engine)
49
56
  ```
50
57
 
51
58
  ### Running the sandbox
@@ -29,7 +29,7 @@ Gem::Specification.new do |spec|
29
29
  spec.executables = files.grep(%r{^exe/}) { |f| File.basename(f) }
30
30
  spec.require_paths = ["lib"]
31
31
 
32
- spec.add_dependency 'solidus_core', ['>= 2.0.0', '< 3']
32
+ spec.add_dependency 'solidus_core', ['>= 2.0.0', '< 4']
33
33
  spec.add_dependency 'solidus_support', '~> 0.5'
34
34
 
35
35
  spec.add_development_dependency 'solidus_dev_support', '<%= SolidusDevSupport.gem_version.approximate_recommendation %>'
@@ -1,10 +1,28 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'factory_bot'
4
+
5
+ Spree::Deprecation.silence do
6
+ require 'spree/testing_support/factories'
7
+ puts <<~MSG
8
+ We are transitioning to a new way of loading factories for extensions.
9
+ Be sure this extension does not load factories using require but uses
10
+ the load_for() method in its spec_helper.rb, eg:
11
+
12
+ SolidusDevSupport::TestingSupport::Factories.load_for(ExtensionName1::Engine, ExtensionName2::Engine)
13
+
14
+ This will load Solidus Core factories right before the ones defined in
15
+ lib/extension_name/testing_support/factories/*_factory.rb or
16
+ lib/extension_name/testing_support/factories.rb
17
+
18
+ This message will be removed when all extensions are updated.
19
+ MSG
20
+ end
21
+
3
22
  begin
4
23
  require 'spree/testing_support/factory_bot'
5
24
  rescue LoadError
6
- require 'factory_bot'
7
- require 'spree/testing_support/factories'
25
+ # Do nothing, we are testing the extension against an old version of Solidus
8
26
  end
9
27
 
10
28
  module SolidusDevSupport
@@ -12,21 +30,39 @@ module SolidusDevSupport
12
30
  module Factories
13
31
  def self.load_for(*engines)
14
32
  paths = engines.flat_map do |engine|
15
- factories_file_or_folder = engine.root.glob('lib/*/testing_support/factories{,.rb}')
16
-
17
- if factories_file_or_folder.size == 2 && using_factory_bot_definition_file_paths?
18
- folder, file = factories_file_or_folder.partition(&:directory?).map(&:first).map { |path| path.to_s.gsub(engine.root.to_s, '') }
33
+ # Check if the extension has a lib/*/factories.rb. If it does, we emit a
34
+ # deprecation warning and just use it.
35
+ obsolete_factories_file = engine.root.glob('lib/*/factories.rb').first # 'lib/*/factories/*_factory.rb'
36
+ if obsolete_factories_file.present?
19
37
  ActiveSupport::Deprecation.warn <<-WARN.squish, caller(4)
20
38
  SolidusDevSupport::TestingSupport::Factories.load_for() is automatically loading
21
- all factories present into #{folder}. You should now safely remove #{file} if it
22
- is only used to load ./factories content.
39
+ all factories present in #{obsolete_factories_file.dirname.to_s.gsub(engine.root.to_s, '')}/testing_support/factories/.
40
+ Please move the content of #{obsolete_factories_file.to_s.gsub(engine.root.to_s, '')} to that directory.
23
41
  WARN
24
42
 
25
- engine.root.glob('lib/*/testing_support/factories/**/*_factory.rb')
43
+ [obsolete_factories_file]
26
44
  else
27
- factories_file_or_folder
28
- end.map { |path| path.sub(/.rb\z/, '').to_s }
29
- end
45
+ # If there are both a lib/*/testing_support/factories.rb and a lib/*/testing_support/factories/,
46
+ # we assume that the factories.rb file is only used to load all factories prensent in the directory.
47
+ # That file can be removed from the extension, in fact, we ignore it and emit a message asking to
48
+ # remove it.
49
+ factories_file_or_folder = engine.root.glob('lib/*/testing_support/factories{,.rb}')
50
+ if factories_file_or_folder.size == 2
51
+ folder, file = factories_file_or_folder.partition(&:directory?).map(&:first).map { |path| path.to_s.gsub(engine.root.to_s, '') }
52
+ ActiveSupport::Deprecation.warn <<-WARN.squish, caller(4)
53
+ SolidusDevSupport::TestingSupport::Factories.load_for() is automatically loading
54
+ all factories present into #{folder}. You should now safely remove #{file} if it
55
+ is only used to load ./factories content.
56
+ WARN
57
+
58
+ engine.root.glob('lib/*/testing_support/factories/**/*_factory.rb')
59
+ elsif factories_file_or_folder.first.directory?
60
+ engine.root.glob('lib/*/testing_support/factories/**/*_factory.rb')
61
+ else
62
+ factories_file_or_folder
63
+ end
64
+ end
65
+ end.map { |path| path.sub(/.rb\z/, '').to_s }
30
66
 
31
67
  if using_factory_bot_definition_file_paths?
32
68
  FactoryBot.definition_file_paths = [
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module SolidusDevSupport
4
- VERSION = "2.4.1"
4
+ VERSION = "2.5.1"
5
5
 
6
6
  def self.gem_version
7
7
  Gem::Version.new(VERSION)
@@ -16,7 +16,7 @@ Gem::Specification.new do |spec|
16
16
  spec.metadata['source_code_uri'] = 'https://github.com/solidusio/solidus_dev_support'
17
17
  spec.metadata['changelog_uri'] = 'https://github.com/solidusio/solidus_dev_support/blob/master/CHANGELOG.md'
18
18
 
19
- spec.required_ruby_version = Gem::Requirement.new('~> 2.5')
19
+ spec.required_ruby_version = '>= 2.5.0'
20
20
 
21
21
  # Specify which files should be added to the gem when it is released.
22
22
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
@@ -37,14 +37,14 @@ Gem::Specification.new do |spec|
37
37
  spec.add_dependency 'ffaker', '~> 2.13'
38
38
  spec.add_dependency 'gem-release', '~> 2.1'
39
39
  spec.add_dependency 'github_changelog_generator', '~> 1.15'
40
- spec.add_dependency 'puma', '~> 4.3'
40
+ spec.add_dependency 'puma', '>= 4.3', '< 6.0'
41
41
  spec.add_dependency 'rspec_junit_formatter'
42
- spec.add_dependency 'rspec-rails', '~> 4.0.0.beta3'
42
+ spec.add_dependency 'rspec-rails', '>= 4.0.0.beta3', '< 6.0'
43
43
  spec.add_dependency 'rubocop', '~> 1.0'
44
44
  spec.add_dependency 'rubocop-performance', '~> 1.5'
45
45
  spec.add_dependency 'rubocop-rails', '~> 2.3'
46
46
  spec.add_dependency 'rubocop-rspec', '~> 2.0'
47
- spec.add_dependency 'solidus_core', ['>= 2.0', '< 3']
47
+ spec.add_dependency 'solidus_core', ['>= 2.0', '< 4']
48
48
  spec.add_dependency 'webdrivers', '~> 4.4'
49
49
 
50
50
  spec.add_development_dependency 'bundler'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: solidus_dev_support
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.4.1
4
+ version: 2.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alessandro Desantis
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-02-19 00:00:00.000000000 Z
11
+ date: 2021-08-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: capybara
@@ -140,16 +140,22 @@ dependencies:
140
140
  name: puma
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
- - - "~>"
143
+ - - ">="
144
144
  - !ruby/object:Gem::Version
145
145
  version: '4.3'
146
+ - - "<"
147
+ - !ruby/object:Gem::Version
148
+ version: '6.0'
146
149
  type: :runtime
147
150
  prerelease: false
148
151
  version_requirements: !ruby/object:Gem::Requirement
149
152
  requirements:
150
- - - "~>"
153
+ - - ">="
151
154
  - !ruby/object:Gem::Version
152
155
  version: '4.3'
156
+ - - "<"
157
+ - !ruby/object:Gem::Version
158
+ version: '6.0'
153
159
  - !ruby/object:Gem::Dependency
154
160
  name: rspec_junit_formatter
155
161
  requirement: !ruby/object:Gem::Requirement
@@ -168,16 +174,22 @@ dependencies:
168
174
  name: rspec-rails
169
175
  requirement: !ruby/object:Gem::Requirement
170
176
  requirements:
171
- - - "~>"
177
+ - - ">="
172
178
  - !ruby/object:Gem::Version
173
179
  version: 4.0.0.beta3
180
+ - - "<"
181
+ - !ruby/object:Gem::Version
182
+ version: '6.0'
174
183
  type: :runtime
175
184
  prerelease: false
176
185
  version_requirements: !ruby/object:Gem::Requirement
177
186
  requirements:
178
- - - "~>"
187
+ - - ">="
179
188
  - !ruby/object:Gem::Version
180
189
  version: 4.0.0.beta3
190
+ - - "<"
191
+ - !ruby/object:Gem::Version
192
+ version: '6.0'
181
193
  - !ruby/object:Gem::Dependency
182
194
  name: rubocop
183
195
  requirement: !ruby/object:Gem::Requirement
@@ -243,7 +255,7 @@ dependencies:
243
255
  version: '2.0'
244
256
  - - "<"
245
257
  - !ruby/object:Gem::Version
246
- version: '3'
258
+ version: '4'
247
259
  type: :runtime
248
260
  prerelease: false
249
261
  version_requirements: !ruby/object:Gem::Requirement
@@ -253,7 +265,7 @@ dependencies:
253
265
  version: '2.0'
254
266
  - - "<"
255
267
  - !ruby/object:Gem::Version
256
- version: '3'
268
+ version: '4'
257
269
  - !ruby/object:Gem::Dependency
258
270
  name: webdrivers
259
271
  requirement: !ruby/object:Gem::Requirement
@@ -390,16 +402,16 @@ require_paths:
390
402
  - lib
391
403
  required_ruby_version: !ruby/object:Gem::Requirement
392
404
  requirements:
393
- - - "~>"
405
+ - - ">="
394
406
  - !ruby/object:Gem::Version
395
- version: '2.5'
407
+ version: 2.5.0
396
408
  required_rubygems_version: !ruby/object:Gem::Requirement
397
409
  requirements:
398
410
  - - ">="
399
411
  - !ruby/object:Gem::Version
400
412
  version: '0'
401
413
  requirements: []
402
- rubygems_version: 3.1.4
414
+ rubygems_version: 3.2.20
403
415
  signing_key:
404
416
  specification_version: 4
405
417
  summary: Development tools for Solidus extensions.