spree_gateway 3.7.1 → 3.8.0

Sign up to get free protection for your applications and to get access to all the features.
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