solidus_dev_support 2.3.0 → 2.5.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 +4 -4
- data/CHANGELOG.md +54 -3
- data/lib/solidus_dev_support/rspec/rails_helper.rb +0 -1
- data/lib/solidus_dev_support/templates/extension/README.md +9 -2
- data/lib/solidus_dev_support/templates/extension/bin/sandbox.tt +1 -1
- data/lib/solidus_dev_support/templates/extension/extension.gemspec.tt +1 -1
- data/lib/solidus_dev_support/templates/extension/lib/%file_name%.rb.tt +0 -3
- data/lib/solidus_dev_support/templates/extension/lib/%file_name%/configuration.rb.tt +1 -1
- data/lib/solidus_dev_support/templates/extension/lib/%file_name%/engine.rb.tt +2 -2
- data/lib/solidus_dev_support/testing_support/factories.rb +67 -7
- data/lib/solidus_dev_support/version.rb +1 -1
- data/solidus_dev_support.gemspec +2 -2
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 72a33b9cca402cd6724c7b9c95cfc826dc4bc011272654a67a72487a43eb8936
|
4
|
+
data.tar.gz: 77725ac4faffd63e4b480d2d5964a1084c09eac6c1350d5b08fc15c4e9ad615b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0f87121188ad5f7d5046e2d4f1f6172ed9cedc4f70dbd66ee648d97bfcac55765be764db8afcc154fc98209e15c6efbf92fcaf082263bd341b5a439dd04c13ef
|
7
|
+
data.tar.gz: 9a4d51ae3458794ff639f7a990a8d5b1e4df0548889b67bc3a2c5228d6fa3db5e5bde9ca938fa367e680d0aff0202a725b2bf604715a494a8b13d5dde956b901
|
data/CHANGELOG.md
CHANGED
@@ -1,8 +1,59 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
-
## [
|
3
|
+
## [v2.5.0](https://github.com/solidusio/solidus_dev_support/tree/v2.5.0) (2021-04-20)
|
4
4
|
|
5
|
-
[Full Changelog](https://github.com/solidusio/solidus_dev_support/compare/v2.
|
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
|
+
|
37
|
+
## [v2.4.0](https://github.com/solidusio/solidus_dev_support/tree/v2.4.0) (2021-02-05)
|
38
|
+
|
39
|
+
[Full Changelog](https://github.com/solidusio/solidus_dev_support/compare/v2.3.0...v2.4.0)
|
40
|
+
|
41
|
+
**Implemented enhancements:**
|
42
|
+
|
43
|
+
- Improve engine's requires to remove double inclusions [\#165](https://github.com/solidusio/solidus_dev_support/pull/165) ([kennyadsl](https://github.com/kennyadsl))
|
44
|
+
- Remove double require of core factories from rails\_helper [\#164](https://github.com/solidusio/solidus_dev_support/pull/164) ([kennyadsl](https://github.com/kennyadsl))
|
45
|
+
|
46
|
+
**Fixed bugs:**
|
47
|
+
|
48
|
+
- Fix typo in configuration.rb.tt [\#166](https://github.com/solidusio/solidus_dev_support/pull/166) ([brchristian](https://github.com/brchristian))
|
49
|
+
|
50
|
+
**Merged pull requests:**
|
51
|
+
|
52
|
+
- Rename spree:install to solidus:install in the sandbox template [\#167](https://github.com/solidusio/solidus_dev_support/pull/167) ([blocknotes](https://github.com/blocknotes))
|
53
|
+
|
54
|
+
## [v2.3.0](https://github.com/solidusio/solidus_dev_support/tree/v2.3.0) (2021-01-14)
|
55
|
+
|
56
|
+
[Full Changelog](https://github.com/solidusio/solidus_dev_support/compare/v2.2.0...v2.3.0)
|
6
57
|
|
7
58
|
**Implemented enhancements:**
|
8
59
|
|
@@ -40,7 +91,7 @@
|
|
40
91
|
**Implemented enhancements:**
|
41
92
|
|
42
93
|
- Add standard github\_changelog\_generator configuration [\#151](https://github.com/solidusio/solidus_dev_support/pull/151) ([aldesantis](https://github.com/aldesantis))
|
43
|
-
- Move generated factories to `
|
94
|
+
- Move generated factories to `testing_support/` [\#150](https://github.com/solidusio/solidus_dev_support/pull/150) ([aldesantis](https://github.com/aldesantis))
|
44
95
|
- Add extension configuration boilerplate [\#149](https://github.com/solidusio/solidus_dev_support/pull/149) ([aldesantis](https://github.com/aldesantis))
|
45
96
|
|
46
97
|
**Fixed bugs:**
|
@@ -16,7 +16,6 @@ require 'factory_bot'
|
|
16
16
|
require 'ffaker'
|
17
17
|
|
18
18
|
require 'spree/testing_support/authorization_helpers'
|
19
|
-
require 'spree/testing_support/factories'
|
20
19
|
require 'spree/testing_support/url_helpers'
|
21
20
|
require 'spree/testing_support/preferences'
|
22
21
|
require 'spree/testing_support/controller_requests'
|
@@ -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
|
@@ -67,7 +67,7 @@ unbundled bundle install --gemfile Gemfile
|
|
67
67
|
|
68
68
|
unbundled bundle exec rake db:drop db:create
|
69
69
|
|
70
|
-
unbundled bundle exec rails generate
|
70
|
+
unbundled bundle exec rails generate solidus:install \
|
71
71
|
--auto-accept \
|
72
72
|
--user_class=Spree::User \
|
73
73
|
--enforce_available_locales=true \
|
@@ -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', '<
|
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,20 +1,75 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require 'spree/testing_support/factories'
|
4
3
|
require 'factory_bot'
|
5
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
|
+
|
22
|
+
begin
|
23
|
+
require 'spree/testing_support/factory_bot'
|
24
|
+
rescue LoadError
|
25
|
+
# Do nothing, we are testing the extension against an old version of Solidus
|
26
|
+
end
|
27
|
+
|
6
28
|
module SolidusDevSupport
|
7
29
|
module TestingSupport
|
8
30
|
module Factories
|
9
31
|
def self.load_for(*engines)
|
10
32
|
paths = engines.flat_map do |engine|
|
11
|
-
|
12
|
-
|
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?
|
37
|
+
ActiveSupport::Deprecation.warn <<-WARN.squish, caller(4)
|
38
|
+
SolidusDevSupport::TestingSupport::Factories.load_for() is automatically loading
|
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.
|
41
|
+
WARN
|
42
|
+
|
43
|
+
[obsolete_factories_file]
|
44
|
+
else
|
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 }
|
66
|
+
|
67
|
+
if using_factory_bot_definition_file_paths?
|
68
|
+
FactoryBot.definition_file_paths = [
|
69
|
+
Spree::TestingSupport::FactoryBot.definition_file_paths,
|
70
|
+
paths,
|
71
|
+
].flatten
|
13
72
|
|
14
|
-
if Spree::TestingSupport.respond_to? :load_all_factories
|
15
|
-
FactoryBot.definition_file_paths.concat(
|
16
|
-
paths.map { |path| path.sub(/.rb\z/, '').to_s }
|
17
|
-
)
|
18
73
|
FactoryBot.reload
|
19
74
|
else
|
20
75
|
FactoryBot.find_definitions
|
@@ -22,6 +77,11 @@ module SolidusDevSupport
|
|
22
77
|
paths.each { |path| require path }
|
23
78
|
end
|
24
79
|
end
|
80
|
+
|
81
|
+
def self.using_factory_bot_definition_file_paths?
|
82
|
+
defined?(Spree::TestingSupport::FactoryBot) &&
|
83
|
+
Spree::TestingSupport::FactoryBot.respond_to?(:definition_file_paths)
|
84
|
+
end
|
25
85
|
end
|
26
86
|
end
|
27
87
|
end
|
data/solidus_dev_support.gemspec
CHANGED
@@ -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 =
|
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.
|
@@ -44,7 +44,7 @@ Gem::Specification.new do |spec|
|
|
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', '<
|
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
|
+
version: 2.5.0
|
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-
|
11
|
+
date: 2021-04-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: capybara
|
@@ -243,7 +243,7 @@ dependencies:
|
|
243
243
|
version: '2.0'
|
244
244
|
- - "<"
|
245
245
|
- !ruby/object:Gem::Version
|
246
|
-
version: '
|
246
|
+
version: '4'
|
247
247
|
type: :runtime
|
248
248
|
prerelease: false
|
249
249
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -253,7 +253,7 @@ dependencies:
|
|
253
253
|
version: '2.0'
|
254
254
|
- - "<"
|
255
255
|
- !ruby/object:Gem::Version
|
256
|
-
version: '
|
256
|
+
version: '4'
|
257
257
|
- !ruby/object:Gem::Dependency
|
258
258
|
name: webdrivers
|
259
259
|
requirement: !ruby/object:Gem::Requirement
|
@@ -390,9 +390,9 @@ require_paths:
|
|
390
390
|
- lib
|
391
391
|
required_ruby_version: !ruby/object:Gem::Requirement
|
392
392
|
requirements:
|
393
|
-
- - "
|
393
|
+
- - ">="
|
394
394
|
- !ruby/object:Gem::Version
|
395
|
-
version:
|
395
|
+
version: 2.5.0
|
396
396
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
397
397
|
requirements:
|
398
398
|
- - ">="
|