solidus_stripe 4.2.0 → 4.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +26 -0
  3. data/.gem_release.yml +1 -1
  4. data/.github/stale.yml +1 -17
  5. data/.github_changelog_generator +2 -0
  6. data/.gitignore +3 -2
  7. data/.rubocop.yml +3 -3
  8. data/.rubocop_todo.yml +298 -0
  9. data/CHANGELOG.md +128 -17
  10. data/Gemfile +9 -10
  11. data/LICENSE +2 -1
  12. data/README.md +61 -54
  13. data/Rakefile +3 -0
  14. data/app/assets/javascripts/spree/frontend/solidus_stripe/stripe-cart-page-checkout.js +1 -0
  15. data/app/assets/javascripts/spree/frontend/solidus_stripe/stripe-payment-request-button-shared.js +2 -1
  16. data/app/controllers/solidus_stripe/intents_controller.rb +2 -2
  17. data/app/controllers/solidus_stripe/payment_request_controller.rb +14 -4
  18. data/app/decorators/models/spree/refund_decorator.rb +1 -1
  19. data/app/models/solidus_stripe/address_from_params_service.rb +20 -8
  20. data/app/models/solidus_stripe/create_intents_payment_service.rb +2 -1
  21. data/app/models/spree/payment_method/stripe_credit_card.rb +46 -11
  22. data/bin/rails +4 -12
  23. data/bin/rails-engine +13 -0
  24. data/bin/rails-sandbox +16 -0
  25. data/bin/sandbox +3 -1
  26. data/config/locales/en.yml +5 -0
  27. data/lib/generators/solidus_stripe/install/install_generator.rb +1 -5
  28. data/lib/solidus_stripe/configuration.rb +21 -0
  29. data/lib/solidus_stripe/engine.rb +3 -14
  30. data/lib/solidus_stripe/testing_support/card_input_helper.rb +34 -0
  31. data/lib/solidus_stripe/{factories.rb → testing_support/factories.rb} +0 -0
  32. data/lib/solidus_stripe/version.rb +1 -1
  33. data/lib/solidus_stripe.rb +5 -5
  34. data/lib/views/frontend/spree/checkout/payment/v2/_javascript.html.erb +1 -1
  35. data/lib/views/frontend/spree/checkout/payment/v3/_form_elements.html.erb +2 -1
  36. data/solidus_stripe.gemspec +6 -5
  37. data/spec/features/stripe_checkout_spec.rb +33 -113
  38. data/spec/models/solidus_stripe/address_from_params_service_spec.rb +17 -6
  39. data/spec/models/solidus_stripe/create_intents_payment_service_spec.rb +4 -4
  40. data/spec/models/spree/payment_method/stripe_credit_card_spec.rb +63 -0
  41. data/spec/requests/payment_requests_spec.rb +152 -0
  42. data/spec/spec_helper.rb +16 -5
  43. data/spec/support/solidus_address_helper.rb +2 -2
  44. metadata +37 -14
data/spec/spec_helper.rb CHANGED
@@ -6,21 +6,32 @@ ENV['RAILS_ENV'] = 'test'
6
6
  # Run Coverage report
7
7
  require 'solidus_dev_support/rspec/coverage'
8
8
 
9
- require File.expand_path('dummy/config/environment.rb', __dir__)
9
+ # Create the dummy app if it's still missing.
10
+ dummy_env = "#{__dir__}/dummy/config/environment.rb"
11
+ system 'bin/rake extension:test_app' unless File.exist? dummy_env
12
+ require dummy_env
10
13
 
11
14
  # Requires factories and other useful helpers defined in spree_core.
12
15
  require 'solidus_dev_support/rspec/feature_helper'
13
16
 
14
17
  # Requires supporting ruby files with custom matchers and macros, etc,
15
18
  # in spec/support/ and its subdirectories.
16
- Dir[File.join(File.dirname(__FILE__), 'support/**/*.rb')].each { |f| require f }
19
+ Dir["#{__dir__}/support/**/*.rb"].sort.each { |f| require f }
17
20
 
18
- # Requires factories defined in lib/solidus_stripe/factories.rb
19
- require 'solidus_stripe/factories'
21
+ # Requires factories defined in lib/solidus_stripe/testing_support/factories.rb
22
+ SolidusDevSupport::TestingSupport::Factories.load_for(SolidusStripe::Engine)
23
+
24
+ # Requires card input helper defined in lib/solidus_stripe/testing_support/card_input_helper.rb
25
+ require 'solidus_stripe/testing_support/card_input_helper'
20
26
 
21
27
  RSpec.configure do |config|
22
28
  config.infer_spec_type_from_file_location!
23
- FactoryBot.find_definitions
24
29
  config.use_transactional_fixtures = false
30
+
25
31
  config.include SolidusAddressNameHelper, type: :feature
32
+ config.include SolidusCardInputHelper, type: :feature
33
+
34
+ if Spree.solidus_gem_version < Gem::Version.new('2.11')
35
+ config.extend Spree::TestingSupport::AuthorizationHelpers::Request, type: :system
36
+ end
26
37
  end
@@ -2,10 +2,10 @@
2
2
 
3
3
  # Since https://github.com/solidusio/solidus/pull/3524 was merged,
4
4
  # we need to verify if we're using the single "Name" field or the
5
- # previous first/last name combination.
5
+ # previous first/last name combination.
6
6
  module SolidusAddressNameHelper
7
7
  def fill_in_name
8
- if Spree::Config.preferences[:use_combined_first_and_last_name_in_address]
8
+ if SolidusSupport.combined_first_and_last_name_in_address?
9
9
  fill_in "Name", with: "Han Solo"
10
10
  else
11
11
  fill_in "First Name", with: "Han"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: solidus_stripe
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.2.0
4
+ version: 4.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Solidus Team
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-07-20 00:00:00.000000000 Z
11
+ date: 2022-12-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: solidus_core
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '2.3'
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: '3'
22
+ version: '4'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,49 +29,63 @@ dependencies:
29
29
  version: '2.3'
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: '3'
32
+ version: '4'
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: solidus_support
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: '0.5'
39
+ version: '0.8'
40
40
  type: :runtime
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
- version: '0.5'
46
+ version: '0.8'
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: activemerchant
49
49
  requirement: !ruby/object:Gem::Requirement
50
50
  requirements:
51
51
  - - ">="
52
52
  - !ruby/object:Gem::Version
53
- version: '1.100'
53
+ version: '1.105'
54
54
  type: :runtime
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - ">="
59
59
  - !ruby/object:Gem::Version
60
- version: '1.100'
60
+ version: '1.105'
61
61
  - !ruby/object:Gem::Dependency
62
- name: solidus_dev_support
62
+ name: rexml
63
63
  requirement: !ruby/object:Gem::Requirement
64
64
  requirements:
65
65
  - - ">="
66
66
  - !ruby/object:Gem::Version
67
67
  version: '0'
68
- type: :development
68
+ type: :runtime
69
69
  prerelease: false
70
70
  version_requirements: !ruby/object:Gem::Requirement
71
71
  requirements:
72
72
  - - ">="
73
73
  - !ruby/object:Gem::Version
74
74
  version: '0'
75
+ - !ruby/object:Gem::Dependency
76
+ name: solidus_dev_support
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '2.5'
82
+ type: :development
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '2.5'
75
89
  description: Stripe Payment Method for Solidus
76
90
  email: contact@solidus.io
77
91
  executables: []
@@ -81,9 +95,11 @@ files:
81
95
  - ".circleci/config.yml"
82
96
  - ".gem_release.yml"
83
97
  - ".github/stale.yml"
98
+ - ".github_changelog_generator"
84
99
  - ".gitignore"
85
100
  - ".rspec"
86
101
  - ".rubocop.yml"
102
+ - ".rubocop_todo.yml"
87
103
  - ".travis.yml"
88
104
  - CHANGELOG.md
89
105
  - Gemfile
@@ -111,18 +127,23 @@ files:
111
127
  - bin/console
112
128
  - bin/r
113
129
  - bin/rails
130
+ - bin/rails-engine
131
+ - bin/rails-sandbox
114
132
  - bin/rake
115
133
  - bin/sandbox
116
134
  - bin/sandbox_rails
117
135
  - bin/setup
136
+ - config/locales/en.yml
118
137
  - config/routes.rb
119
138
  - db/migrate/20181010123508_update_stripe_payment_method_type_to_credit_card.rb
120
139
  - db/seeds.rb
121
140
  - lib/assets/stylesheets/spree/frontend/solidus_stripe.scss
122
141
  - lib/generators/solidus_stripe/install/install_generator.rb
123
142
  - lib/solidus_stripe.rb
143
+ - lib/solidus_stripe/configuration.rb
124
144
  - lib/solidus_stripe/engine.rb
125
- - lib/solidus_stripe/factories.rb
145
+ - lib/solidus_stripe/testing_support/card_input_helper.rb
146
+ - lib/solidus_stripe/testing_support/factories.rb
126
147
  - lib/solidus_stripe/version.rb
127
148
  - lib/tasks/solidus_stripe/db/seed.rake
128
149
  - lib/views/api/spree/api/payments/source_views/_stripe.json.jbuilder
@@ -144,6 +165,7 @@ files:
144
165
  - spec/models/solidus_stripe/prepare_order_for_payment_service_spec.rb
145
166
  - spec/models/solidus_stripe/shipping_rates_service_spec.rb
146
167
  - spec/models/spree/payment_method/stripe_credit_card_spec.rb
168
+ - spec/requests/payment_requests_spec.rb
147
169
  - spec/spec_helper.rb
148
170
  - spec/support/solidus_address_helper.rb
149
171
  homepage: https://github.com/solidusio/solidus_stripe#readme
@@ -159,16 +181,16 @@ require_paths:
159
181
  - lib
160
182
  required_ruby_version: !ruby/object:Gem::Requirement
161
183
  requirements:
162
- - - "~>"
184
+ - - ">="
163
185
  - !ruby/object:Gem::Version
164
- version: '2.4'
186
+ version: '2.5'
165
187
  required_rubygems_version: !ruby/object:Gem::Requirement
166
188
  requirements:
167
189
  - - ">="
168
190
  - !ruby/object:Gem::Version
169
191
  version: '0'
170
192
  requirements: []
171
- rubygems_version: 3.0.3
193
+ rubygems_version: 3.3.26
172
194
  signing_key:
173
195
  specification_version: 4
174
196
  summary: Stripe Payment Method for Solidus
@@ -179,5 +201,6 @@ test_files:
179
201
  - spec/models/solidus_stripe/prepare_order_for_payment_service_spec.rb
180
202
  - spec/models/solidus_stripe/shipping_rates_service_spec.rb
181
203
  - spec/models/spree/payment_method/stripe_credit_card_spec.rb
204
+ - spec/requests/payment_requests_spec.rb
182
205
  - spec/spec_helper.rb
183
206
  - spec/support/solidus_address_helper.rb