spree_gateway 3.7.1 → 3.8.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.
Files changed (35) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +31 -38
  3. data/Appraisals +4 -10
  4. data/README.md +9 -20
  5. data/app/models/spree/check.rb +41 -0
  6. data/app/models/spree/gateway/stripe_ach_gateway.rb +60 -0
  7. data/app/models/spree/payment_decorator.rb +29 -0
  8. data/config/initializers/spree_permitted_attributes.rb +5 -0
  9. data/config/locales/en.yml +19 -0
  10. data/db/migrate/20200317135551_add_spree_check_payment_source.rb +22 -0
  11. data/gemfiles/{spree_3_2.gemfile → spree_4_1.gemfile} +1 -1
  12. data/gemfiles/{spree_3_5.gemfile → spree_4_2.gemfile} +1 -1
  13. data/lib/active_merchant/billing/stripe_gateway_decorator.rb +13 -0
  14. data/lib/controllers/spree/apple_pay_domain_verification_controller.rb +1 -1
  15. data/lib/spree_gateway/engine.rb +1 -0
  16. data/lib/spree_gateway/version.rb +1 -1
  17. data/lib/views/backend/spree/admin/payments/source_forms/_stripe_ach.html.erb +86 -0
  18. data/lib/views/backend/spree/admin/payments/source_forms/_stripe_apple_pay.html.erb +0 -0
  19. data/lib/views/backend/spree/admin/payments/source_forms/_stripe_elements.html.erb +79 -0
  20. data/lib/views/backend/spree/admin/payments/source_views/_stripe_ach.html.erb +21 -0
  21. data/lib/views/backend/spree/admin/payments/source_views/_stripe_apple_pay.html.erb +1 -0
  22. data/lib/views/backend/spree/admin/payments/source_views/_stripe_elements.html.erb +1 -0
  23. data/lib/views/frontend/spree/checkout/payment/_stripe_ach.html.erb +81 -0
  24. data/lib/views/frontend/spree/checkout/payment/_stripe_ach_verify.html.erb +16 -0
  25. data/lib/views/frontend/spree/checkout/payment/_stripe_apple_pay.html.erb +10 -1
  26. data/lib/views/frontend/spree/checkout/payment/_stripe_elements.html.erb +18 -23
  27. data/spec/factories/check_factory.rb +10 -0
  28. data/spec/features/admin/stripe_elements_payment_spec.rb +109 -0
  29. data/spec/features/stripe_checkout_spec.rb +3 -0
  30. data/spec/models/gateway/stripe_ach_gateway_spec.rb +185 -0
  31. data/spec/spec_helper.rb +7 -64
  32. data/spree_gateway.gemspec +1 -20
  33. metadata +25 -274
  34. data/gemfiles/spree_3_7.gemfile +0 -9
  35. data/gemfiles/spree_4_0.gemfile +0 -8
@@ -1,67 +1,10 @@
1
- require 'simplecov'
2
- SimpleCov.start 'rails'
1
+ # Configure Rails Environment
2
+ ENV['RAILS_ENV'] = 'test'
3
3
 
4
- ENV["RAILS_ENV"] = "test"
4
+ require File.expand_path('../dummy/config/environment.rb', __FILE__)
5
5
 
6
- require File.expand_path("../dummy/config/environment.rb", __FILE__)
6
+ require 'spree_dev_tools/rspec/spec_helper'
7
7
 
8
- require 'rspec/rails'
9
- require 'rspec/active_model/mocks'
10
- require 'capybara/rspec'
11
- require 'capybara/rails'
12
- require 'capybara-screenshot/rspec'
13
- require "selenium-webdriver"
14
- require 'webdrivers'
15
- require 'database_cleaner'
16
- require 'ffaker'
17
- require 'rspec/active_model/mocks'
18
- require 'pry'
19
-
20
- Dir[File.join(File.dirname(__FILE__), "support", "**", "*.rb")].each { |f| require f }
21
-
22
- require 'spree/testing_support/factories'
23
- require 'spree/testing_support/order_walkthrough'
24
- require 'spree/testing_support/preferences'
25
- require 'spree/testing_support/capybara_ext'
26
-
27
- FactoryBot.find_definitions
28
-
29
- RSpec.configure do |config|
30
- config.infer_spec_type_from_file_location!
31
- config.mock_with :rspec do |mock|
32
- mock.syntax = [:should, :expect]
33
- end
34
- config.raise_errors_for_deprecations!
35
- config.use_transactional_fixtures = false
36
- #config.filter_run focus: true
37
- #config.filter_run_excluding slow: true
38
-
39
- config.include FactoryBot::Syntax::Methods
40
- config.include Spree::TestingSupport::Preferences
41
-
42
- config.before :suite do
43
- DatabaseCleaner.strategy = :transaction
44
- DatabaseCleaner.clean_with :truncation
45
- end
46
-
47
- config.before do
48
- DatabaseCleaner.strategy = RSpec.current_example.metadata[:js] ? :truncation : :transaction
49
- DatabaseCleaner.start
50
- reset_spree_preferences
51
- create(:store)
52
- end
53
-
54
- config.after do
55
- DatabaseCleaner.clean
56
- end
57
-
58
- Capybara.register_driver :chrome do |app|
59
- Capybara::Selenium::Driver.new app,
60
- browser: :chrome,
61
- options: Selenium::WebDriver::Chrome::Options.new(
62
- 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],
63
- log_level: :error
64
- )
65
- end
66
- Capybara.javascript_driver = :chrome
67
- end
8
+ # Requires supporting ruby files with custom matchers and macros, etc,
9
+ # in spec/support/ and its subdirectories.
10
+ Dir[File.join(File.dirname(__FILE__), 'support/**/*.rb')].sort.each { |f| require f }
@@ -25,26 +25,7 @@ Gem::Specification.new do |s|
25
25
  s.add_dependency 'spree_core', spree_version
26
26
  s.add_dependency 'spree_extension'
27
27
 
28
- s.add_development_dependency 'appraisal'
29
- s.add_development_dependency 'bootstrap-sass'
30
28
  s.add_development_dependency 'braintree'
31
- s.add_development_dependency 'capybara'
32
- s.add_development_dependency 'capybara-screenshot'
33
- s.add_development_dependency 'coffee-rails'
34
- s.add_development_dependency 'database_cleaner'
35
- s.add_development_dependency 'factory_bot', '~> 4.7'
36
- s.add_development_dependency 'ffaker'
37
- s.add_development_dependency 'guard-rspec'
38
- s.add_development_dependency 'launchy'
39
- s.add_development_dependency 'mysql2'
40
- s.add_development_dependency 'pg'
41
- s.add_development_dependency 'pry'
42
- s.add_development_dependency 'puma'
43
29
  s.add_development_dependency 'rspec-activemodel-mocks'
44
- s.add_development_dependency 'rspec-rails'
45
- s.add_development_dependency 'sass-rails'
46
- s.add_development_dependency 'selenium-webdriver'
47
- s.add_development_dependency 'webdrivers'
48
- s.add_development_dependency 'simplecov'
49
- s.add_development_dependency 'sqlite3'
30
+ s.add_development_dependency 'spree_dev_tools'
50
31
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spree_gateway
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.7.1
4
+ version: 3.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Spree Commerce
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-02-20 00:00:00.000000000 Z
11
+ date: 2020-09-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: spree_core
@@ -44,34 +44,6 @@ dependencies:
44
44
  - - ">="
45
45
  - !ruby/object:Gem::Version
46
46
  version: '0'
47
- - !ruby/object:Gem::Dependency
48
- name: appraisal
49
- requirement: !ruby/object:Gem::Requirement
50
- requirements:
51
- - - ">="
52
- - !ruby/object:Gem::Version
53
- version: '0'
54
- type: :development
55
- prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
- requirements:
58
- - - ">="
59
- - !ruby/object:Gem::Version
60
- version: '0'
61
- - !ruby/object:Gem::Dependency
62
- name: bootstrap-sass
63
- requirement: !ruby/object:Gem::Requirement
64
- requirements:
65
- - - ">="
66
- - !ruby/object:Gem::Version
67
- version: '0'
68
- type: :development
69
- prerelease: false
70
- version_requirements: !ruby/object:Gem::Requirement
71
- requirements:
72
- - - ">="
73
- - !ruby/object:Gem::Version
74
- version: '0'
75
47
  - !ruby/object:Gem::Dependency
76
48
  name: braintree
77
49
  requirement: !ruby/object:Gem::Requirement
@@ -86,174 +58,6 @@ dependencies:
86
58
  - - ">="
87
59
  - !ruby/object:Gem::Version
88
60
  version: '0'
89
- - !ruby/object:Gem::Dependency
90
- name: capybara
91
- requirement: !ruby/object:Gem::Requirement
92
- requirements:
93
- - - ">="
94
- - !ruby/object:Gem::Version
95
- version: '0'
96
- type: :development
97
- prerelease: false
98
- version_requirements: !ruby/object:Gem::Requirement
99
- requirements:
100
- - - ">="
101
- - !ruby/object:Gem::Version
102
- version: '0'
103
- - !ruby/object:Gem::Dependency
104
- name: capybara-screenshot
105
- requirement: !ruby/object:Gem::Requirement
106
- requirements:
107
- - - ">="
108
- - !ruby/object:Gem::Version
109
- version: '0'
110
- type: :development
111
- prerelease: false
112
- version_requirements: !ruby/object:Gem::Requirement
113
- requirements:
114
- - - ">="
115
- - !ruby/object:Gem::Version
116
- version: '0'
117
- - !ruby/object:Gem::Dependency
118
- name: coffee-rails
119
- requirement: !ruby/object:Gem::Requirement
120
- requirements:
121
- - - ">="
122
- - !ruby/object:Gem::Version
123
- version: '0'
124
- type: :development
125
- prerelease: false
126
- version_requirements: !ruby/object:Gem::Requirement
127
- requirements:
128
- - - ">="
129
- - !ruby/object:Gem::Version
130
- version: '0'
131
- - !ruby/object:Gem::Dependency
132
- name: database_cleaner
133
- requirement: !ruby/object:Gem::Requirement
134
- requirements:
135
- - - ">="
136
- - !ruby/object:Gem::Version
137
- version: '0'
138
- type: :development
139
- prerelease: false
140
- version_requirements: !ruby/object:Gem::Requirement
141
- requirements:
142
- - - ">="
143
- - !ruby/object:Gem::Version
144
- version: '0'
145
- - !ruby/object:Gem::Dependency
146
- name: factory_bot
147
- requirement: !ruby/object:Gem::Requirement
148
- requirements:
149
- - - "~>"
150
- - !ruby/object:Gem::Version
151
- version: '4.7'
152
- type: :development
153
- prerelease: false
154
- version_requirements: !ruby/object:Gem::Requirement
155
- requirements:
156
- - - "~>"
157
- - !ruby/object:Gem::Version
158
- version: '4.7'
159
- - !ruby/object:Gem::Dependency
160
- name: ffaker
161
- requirement: !ruby/object:Gem::Requirement
162
- requirements:
163
- - - ">="
164
- - !ruby/object:Gem::Version
165
- version: '0'
166
- type: :development
167
- prerelease: false
168
- version_requirements: !ruby/object:Gem::Requirement
169
- requirements:
170
- - - ">="
171
- - !ruby/object:Gem::Version
172
- version: '0'
173
- - !ruby/object:Gem::Dependency
174
- name: guard-rspec
175
- requirement: !ruby/object:Gem::Requirement
176
- requirements:
177
- - - ">="
178
- - !ruby/object:Gem::Version
179
- version: '0'
180
- type: :development
181
- prerelease: false
182
- version_requirements: !ruby/object:Gem::Requirement
183
- requirements:
184
- - - ">="
185
- - !ruby/object:Gem::Version
186
- version: '0'
187
- - !ruby/object:Gem::Dependency
188
- name: launchy
189
- requirement: !ruby/object:Gem::Requirement
190
- requirements:
191
- - - ">="
192
- - !ruby/object:Gem::Version
193
- version: '0'
194
- type: :development
195
- prerelease: false
196
- version_requirements: !ruby/object:Gem::Requirement
197
- requirements:
198
- - - ">="
199
- - !ruby/object:Gem::Version
200
- version: '0'
201
- - !ruby/object:Gem::Dependency
202
- name: mysql2
203
- requirement: !ruby/object:Gem::Requirement
204
- requirements:
205
- - - ">="
206
- - !ruby/object:Gem::Version
207
- version: '0'
208
- type: :development
209
- prerelease: false
210
- version_requirements: !ruby/object:Gem::Requirement
211
- requirements:
212
- - - ">="
213
- - !ruby/object:Gem::Version
214
- version: '0'
215
- - !ruby/object:Gem::Dependency
216
- name: pg
217
- requirement: !ruby/object:Gem::Requirement
218
- requirements:
219
- - - ">="
220
- - !ruby/object:Gem::Version
221
- version: '0'
222
- type: :development
223
- prerelease: false
224
- version_requirements: !ruby/object:Gem::Requirement
225
- requirements:
226
- - - ">="
227
- - !ruby/object:Gem::Version
228
- version: '0'
229
- - !ruby/object:Gem::Dependency
230
- name: pry
231
- requirement: !ruby/object:Gem::Requirement
232
- requirements:
233
- - - ">="
234
- - !ruby/object:Gem::Version
235
- version: '0'
236
- type: :development
237
- prerelease: false
238
- version_requirements: !ruby/object:Gem::Requirement
239
- requirements:
240
- - - ">="
241
- - !ruby/object:Gem::Version
242
- version: '0'
243
- - !ruby/object:Gem::Dependency
244
- name: puma
245
- requirement: !ruby/object:Gem::Requirement
246
- requirements:
247
- - - ">="
248
- - !ruby/object:Gem::Version
249
- version: '0'
250
- type: :development
251
- prerelease: false
252
- version_requirements: !ruby/object:Gem::Requirement
253
- requirements:
254
- - - ">="
255
- - !ruby/object:Gem::Version
256
- version: '0'
257
61
  - !ruby/object:Gem::Dependency
258
62
  name: rspec-activemodel-mocks
259
63
  requirement: !ruby/object:Gem::Requirement
@@ -269,77 +73,7 @@ dependencies:
269
73
  - !ruby/object:Gem::Version
270
74
  version: '0'
271
75
  - !ruby/object:Gem::Dependency
272
- name: rspec-rails
273
- requirement: !ruby/object:Gem::Requirement
274
- requirements:
275
- - - ">="
276
- - !ruby/object:Gem::Version
277
- version: '0'
278
- type: :development
279
- prerelease: false
280
- version_requirements: !ruby/object:Gem::Requirement
281
- requirements:
282
- - - ">="
283
- - !ruby/object:Gem::Version
284
- version: '0'
285
- - !ruby/object:Gem::Dependency
286
- name: sass-rails
287
- requirement: !ruby/object:Gem::Requirement
288
- requirements:
289
- - - ">="
290
- - !ruby/object:Gem::Version
291
- version: '0'
292
- type: :development
293
- prerelease: false
294
- version_requirements: !ruby/object:Gem::Requirement
295
- requirements:
296
- - - ">="
297
- - !ruby/object:Gem::Version
298
- version: '0'
299
- - !ruby/object:Gem::Dependency
300
- name: selenium-webdriver
301
- requirement: !ruby/object:Gem::Requirement
302
- requirements:
303
- - - ">="
304
- - !ruby/object:Gem::Version
305
- version: '0'
306
- type: :development
307
- prerelease: false
308
- version_requirements: !ruby/object:Gem::Requirement
309
- requirements:
310
- - - ">="
311
- - !ruby/object:Gem::Version
312
- version: '0'
313
- - !ruby/object:Gem::Dependency
314
- name: webdrivers
315
- requirement: !ruby/object:Gem::Requirement
316
- requirements:
317
- - - ">="
318
- - !ruby/object:Gem::Version
319
- version: '0'
320
- type: :development
321
- prerelease: false
322
- version_requirements: !ruby/object:Gem::Requirement
323
- requirements:
324
- - - ">="
325
- - !ruby/object:Gem::Version
326
- version: '0'
327
- - !ruby/object:Gem::Dependency
328
- name: simplecov
329
- requirement: !ruby/object:Gem::Requirement
330
- requirements:
331
- - - ">="
332
- - !ruby/object:Gem::Version
333
- version: '0'
334
- type: :development
335
- prerelease: false
336
- version_requirements: !ruby/object:Gem::Requirement
337
- requirements:
338
- - - ">="
339
- - !ruby/object:Gem::Version
340
- version: '0'
341
- - !ruby/object:Gem::Dependency
342
- name: sqlite3
76
+ name: spree_dev_tools
343
77
  requirement: !ruby/object:Gem::Requirement
344
78
  requirements:
345
79
  - - ">="
@@ -370,6 +104,7 @@ files:
370
104
  - app/models/spree/apple_pay_order_decorator.rb
371
105
  - app/models/spree/apple_pay_payment_decorator.rb
372
106
  - app/models/spree/billing_integration.rb
107
+ - app/models/spree/check.rb
373
108
  - app/models/spree/gateway/authorize_net.rb
374
109
  - app/models/spree/gateway/authorize_net_cim.rb
375
110
  - app/models/spree/gateway/balanced_gateway.rb
@@ -394,12 +129,15 @@ files:
394
129
  - app/models/spree/gateway/sage_pay.rb
395
130
  - app/models/spree/gateway/secure_pay_au.rb
396
131
  - app/models/spree/gateway/spreedly_core_gateway.rb
132
+ - app/models/spree/gateway/stripe_ach_gateway.rb
397
133
  - app/models/spree/gateway/stripe_apple_pay_gateway.rb
398
134
  - app/models/spree/gateway/stripe_elements_gateway.rb
399
135
  - app/models/spree/gateway/stripe_gateway.rb
400
136
  - app/models/spree/gateway/usa_epay_transaction.rb
401
137
  - app/models/spree/gateway/worldpay.rb
138
+ - app/models/spree/payment_decorator.rb
402
139
  - config/initializers/inflections.rb
140
+ - config/initializers/spree_permitted_attributes.rb
403
141
  - config/locales/bg.yml
404
142
  - config/locales/de.yml
405
143
  - config/locales/en.yml
@@ -410,10 +148,9 @@ files:
410
148
  - db/migrate/20130415222802_update_balanced_payment_method_type.rb
411
149
  - db/migrate/20131008221012_update_paypal_payment_method_type.rb
412
150
  - db/migrate/20131112133401_migrate_stripe_preferences.rb
413
- - gemfiles/spree_3_2.gemfile
414
- - gemfiles/spree_3_5.gemfile
415
- - gemfiles/spree_3_7.gemfile
416
- - gemfiles/spree_4_0.gemfile
151
+ - db/migrate/20200317135551_add_spree_check_payment_source.rb
152
+ - gemfiles/spree_4_1.gemfile
153
+ - gemfiles/spree_4_2.gemfile
417
154
  - gemfiles/spree_master.gemfile
418
155
  - lib/active_merchant/billing/stripe_gateway_decorator.rb
419
156
  - lib/controllers/spree/apple_pay_domain_verification_controller.rb
@@ -425,12 +162,22 @@ files:
425
162
  - lib/views/backend/spree/admin/log_entries/_stripe.html.erb
426
163
  - lib/views/backend/spree/admin/payments/source_forms/_quickcheckout.html.erb
427
164
  - lib/views/backend/spree/admin/payments/source_forms/_stripe.html.erb
165
+ - lib/views/backend/spree/admin/payments/source_forms/_stripe_ach.html.erb
166
+ - lib/views/backend/spree/admin/payments/source_forms/_stripe_apple_pay.html.erb
167
+ - lib/views/backend/spree/admin/payments/source_forms/_stripe_elements.html.erb
428
168
  - lib/views/backend/spree/admin/payments/source_views/_stripe.html.erb
169
+ - lib/views/backend/spree/admin/payments/source_views/_stripe_ach.html.erb
170
+ - lib/views/backend/spree/admin/payments/source_views/_stripe_apple_pay.html.erb
171
+ - lib/views/backend/spree/admin/payments/source_views/_stripe_elements.html.erb
429
172
  - lib/views/frontend/spree/checkout/payment/_stripe.html.erb
173
+ - lib/views/frontend/spree/checkout/payment/_stripe_ach.html.erb
174
+ - lib/views/frontend/spree/checkout/payment/_stripe_ach_verify.html.erb
430
175
  - lib/views/frontend/spree/checkout/payment/_stripe_additional_info.html.erb
431
176
  - lib/views/frontend/spree/checkout/payment/_stripe_apple_pay.html.erb
432
177
  - lib/views/frontend/spree/checkout/payment/_stripe_elements.html.erb
433
178
  - script/rails
179
+ - spec/factories/check_factory.rb
180
+ - spec/features/admin/stripe_elements_payment_spec.rb
434
181
  - spec/features/stripe_checkout_spec.rb
435
182
  - spec/models/gateway/authorize_net_cim_spec.rb
436
183
  - spec/models/gateway/authorize_net_spec.rb
@@ -454,6 +201,7 @@ files:
454
201
  - spec/models/gateway/quickpay_spec.rb
455
202
  - spec/models/gateway/sage_pay_spec.rb
456
203
  - spec/models/gateway/secure_pay_au_spec.rb
204
+ - spec/models/gateway/stripe_ach_gateway_spec.rb
457
205
  - spec/models/gateway/stripe_gateway_spec.rb
458
206
  - spec/models/gateway/usa_epay_transaction_spec.rb
459
207
  - spec/models/gateway/worldpay_spec.rb
@@ -482,11 +230,13 @@ required_rubygems_version: !ruby/object:Gem::Requirement
482
230
  version: '0'
483
231
  requirements:
484
232
  - none
485
- rubygems_version: 3.0.2
233
+ rubygems_version: 3.1.2
486
234
  signing_key:
487
235
  specification_version: 4
488
236
  summary: Additional Payment Gateways for Spree Commerce
489
237
  test_files:
238
+ - spec/factories/check_factory.rb
239
+ - spec/features/admin/stripe_elements_payment_spec.rb
490
240
  - spec/features/stripe_checkout_spec.rb
491
241
  - spec/models/gateway/authorize_net_cim_spec.rb
492
242
  - spec/models/gateway/authorize_net_spec.rb
@@ -510,6 +260,7 @@ test_files:
510
260
  - spec/models/gateway/quickpay_spec.rb
511
261
  - spec/models/gateway/sage_pay_spec.rb
512
262
  - spec/models/gateway/secure_pay_au_spec.rb
263
+ - spec/models/gateway/stripe_ach_gateway_spec.rb
513
264
  - spec/models/gateway/stripe_gateway_spec.rb
514
265
  - spec/models/gateway/usa_epay_transaction_spec.rb
515
266
  - spec/models/gateway/worldpay_spec.rb