solidus_support 0.3.1 → 0.3.2
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2a5f84a7e9a295729e40c8c97377d6708dfcafc30125d4073a49bda3219ae78d
|
4
|
+
data.tar.gz: 194b7b5e8948f66e0cf5cf546c9036c95dc775f0efcda01f48a69a126acb889f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a33ff02d178bf70be2bef2b02b20e9dc430b3fdc66478651fd014f2c7a3fbb9ad4b777c028b44a62c9292e9fc1177f4f75375c2076d8df529460c98473648492
|
7
|
+
data.tar.gz: cb26ee4a8a527898d9eb9c94a1a97210036cd74d42f7eb7e008ffd294445eebeafc0679b91e9cfeebe57edff5930d611c60910af6c37af87cc8106876c55fc54
|
data/lib/solidus_support.rb
CHANGED
@@ -16,6 +16,11 @@ module SolidusSupport
|
|
16
16
|
end
|
17
17
|
end
|
18
18
|
|
19
|
+
def reset_spree_preferences_deprecated?
|
20
|
+
first_version_without_reset = Gem::Requirement.new('>= 2.9')
|
21
|
+
first_version_without_reset.satisfied_by?(solidus_gem_version)
|
22
|
+
end
|
23
|
+
|
19
24
|
def new_gateway_code?
|
20
25
|
first_version_with_new_gateway_code = Gem::Requirement.new('>= 2.3')
|
21
26
|
first_version_with_new_gateway_code.satisfied_by?(solidus_gem_version)
|
@@ -15,6 +15,7 @@ require 'spree/testing_support/authorization_helpers'
|
|
15
15
|
require 'spree/testing_support/factories'
|
16
16
|
require 'spree/testing_support/url_helpers'
|
17
17
|
require 'spree/testing_support/preferences'
|
18
|
+
require 'solidus_support/testing_support/preferences'
|
18
19
|
|
19
20
|
RSpec.configure do |config|
|
20
21
|
config.include FactoryBot::Syntax::Methods
|
@@ -24,6 +25,7 @@ RSpec.configure do |config|
|
|
24
25
|
config.include Spree::TestingSupport::UrlHelpers
|
25
26
|
|
26
27
|
config.include Spree::TestingSupport::Preferences
|
28
|
+
config.include SolidusSupport::TestingSupport::Preferences
|
27
29
|
|
28
30
|
config.before :suite do
|
29
31
|
DatabaseCleaner.clean_with :truncation
|
@@ -35,7 +37,7 @@ RSpec.configure do |config|
|
|
35
37
|
DatabaseCleaner.strategy = RSpec.current_example.metadata[:js] ? :truncation : :transaction
|
36
38
|
|
37
39
|
DatabaseCleaner.cleaning do
|
38
|
-
reset_spree_preferences
|
40
|
+
reset_spree_preferences unless SolidusSupport.reset_spree_preferences_deprecated?
|
39
41
|
|
40
42
|
example.run
|
41
43
|
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module SolidusSupport
|
4
|
+
module TestingSupport
|
5
|
+
module Preferences
|
6
|
+
# This wrapper method allows to stub spree preferences using
|
7
|
+
# the new standard way of solidus core but also works with
|
8
|
+
# old versions that does not have the stub_spree_preferences
|
9
|
+
# method yet. This way we can start using this method in our
|
10
|
+
# extensions safely.
|
11
|
+
#
|
12
|
+
# To have this available, it is needed to require in the
|
13
|
+
# spec/spec_helper.rb of the extension both:
|
14
|
+
#
|
15
|
+
# require 'spree/testing_support/preferences'
|
16
|
+
# require 'solidus_support/testing_support/preferences'
|
17
|
+
#
|
18
|
+
# @example Set a preference on Spree::Config
|
19
|
+
# stub_spree_preferences(allow_guest_checkout: false)
|
20
|
+
#
|
21
|
+
# @example Set a preference on Spree::Api::Config
|
22
|
+
# stub_spree_preferences(Spree::Api::Config, requires_authentication: false)
|
23
|
+
#
|
24
|
+
# @example Set a preference on a custom Spree::CustomExtension::Config
|
25
|
+
# stub_spree_preferences(Spree::CustomExtension::Config, custom_pref: true)
|
26
|
+
#
|
27
|
+
# @param prefs_or_conf_class [Class, Hash] the class we want to stub
|
28
|
+
# preferences for or the preferences hash (see prefs param). If this
|
29
|
+
# param is an Hash, preferences will be stubbed on Spree::Config.
|
30
|
+
# @param prefs [Hash, nil] names and values to be stubbed
|
31
|
+
def stub_spree_preferences(prefs_or_conf_class, prefs = nil)
|
32
|
+
super && return if SolidusSupport.reset_spree_preferences_deprecated?
|
33
|
+
|
34
|
+
if prefs_or_conf_class.is_a?(Hash)
|
35
|
+
preference_store_class = Spree::Config
|
36
|
+
preferences = prefs_or_conf_class
|
37
|
+
else
|
38
|
+
preference_store_class = prefs_or_conf_class
|
39
|
+
preferences = prefs
|
40
|
+
end
|
41
|
+
preference_store_class.set(preferences)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
data/solidus_support.gemspec
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: solidus_support
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- John Hawthorn
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-08-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -94,6 +94,20 @@ dependencies:
|
|
94
94
|
- - ">="
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: capybara-screenshot
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
97
111
|
description: Collection of common functionality for solidus extensions
|
98
112
|
email:
|
99
113
|
- john@stembolt.com
|
@@ -113,6 +127,7 @@ files:
|
|
113
127
|
- lib/solidus_support/extension/rails_helper.rb
|
114
128
|
- lib/solidus_support/extension/spec_helper.rb
|
115
129
|
- lib/solidus_support/migration.rb
|
130
|
+
- lib/solidus_support/testing_support/preferences.rb
|
116
131
|
- lib/solidus_support/version.rb
|
117
132
|
- solidus_support.gemspec
|
118
133
|
- spec/solidus_support_spec.rb
|