solidus_paypal_braintree 1.0.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (73) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +9 -1
  3. data/Gemfile +1 -3
  4. data/README.md +96 -5
  5. data/app/assets/config/solidus_paypal_braintree_manifest.js +1 -0
  6. data/app/assets/images/solidus_paypal_braintree/venmo/venmo_active_blue_button_280x48.svg +19 -0
  7. data/app/assets/images/solidus_paypal_braintree/venmo/venmo_active_blue_button_320x48.svg +19 -0
  8. data/app/assets/images/solidus_paypal_braintree/venmo/venmo_active_blue_button_375x48.svg +19 -0
  9. data/app/assets/images/solidus_paypal_braintree/venmo/venmo_active_white_button_280x48.svg +19 -0
  10. data/app/assets/images/solidus_paypal_braintree/venmo/venmo_active_white_button_320x48.svg +19 -0
  11. data/app/assets/images/solidus_paypal_braintree/venmo/venmo_active_white_button_375x48.svg +19 -0
  12. data/app/assets/images/solidus_paypal_braintree/venmo/venmo_blue_acceptance_mark.svg +15 -0
  13. data/app/assets/images/solidus_paypal_braintree/venmo/venmo_blue_button_280x48.svg +19 -0
  14. data/app/assets/images/solidus_paypal_braintree/venmo/venmo_blue_button_320x48.svg +19 -0
  15. data/app/assets/images/solidus_paypal_braintree/venmo/venmo_blue_button_375x48.svg +19 -0
  16. data/app/assets/images/solidus_paypal_braintree/venmo/venmo_blue_logo.svg +18 -0
  17. data/app/assets/images/solidus_paypal_braintree/venmo/venmo_white_acceptance_mark.svg +20 -0
  18. data/app/assets/images/solidus_paypal_braintree/venmo/venmo_white_button_280x48.svg +19 -0
  19. data/app/assets/images/solidus_paypal_braintree/venmo/venmo_white_button_320x48.svg +19 -0
  20. data/app/assets/images/solidus_paypal_braintree/venmo/venmo_white_button_375x48.svg +19 -0
  21. data/app/assets/images/solidus_paypal_braintree/venmo/venmo_white_logo.svg +18 -0
  22. data/app/assets/javascripts/solidus_paypal_braintree/client.js +34 -0
  23. data/app/assets/javascripts/solidus_paypal_braintree/constants.js +8 -0
  24. data/app/assets/javascripts/solidus_paypal_braintree/frontend.js +1 -0
  25. data/app/assets/javascripts/solidus_paypal_braintree/paypal_button.js +26 -3
  26. data/app/assets/javascripts/solidus_paypal_braintree/venmo_button.js +86 -0
  27. data/app/assets/javascripts/spree/backend/solidus_paypal_braintree.js +2 -2
  28. data/app/assets/javascripts/spree/frontend/paypal_button.js +3 -3
  29. data/app/assets/stylesheets/spree/frontend/solidus_paypal_braintree.css +12 -0
  30. data/app/decorators/controllers/solidus_paypal_braintree/checkout_controller_decorator.rb +1 -1
  31. data/app/decorators/controllers/solidus_paypal_braintree/orders_controller_decorator.rb +1 -1
  32. data/app/helpers/solidus_paypal_braintree/braintree_checkout_helper.rb +19 -5
  33. data/app/models/solidus_paypal_braintree/address.rb +43 -9
  34. data/app/models/solidus_paypal_braintree/avs_result.rb +3 -0
  35. data/app/models/solidus_paypal_braintree/configuration.rb +15 -2
  36. data/app/models/solidus_paypal_braintree/gateway.rb +27 -2
  37. data/app/models/solidus_paypal_braintree/source.rb +31 -2
  38. data/app/models/solidus_paypal_braintree/transaction.rb +1 -1
  39. data/app/models/solidus_paypal_braintree/transaction_address.rb +17 -13
  40. data/app/models/solidus_paypal_braintree/transaction_import.rb +2 -1
  41. data/app/overrides/spree/payments/payment/add_paypal_funding_source_to_payment.rb +9 -0
  42. data/app/views/spree/shared/_braintree_errors.html.erb +3 -0
  43. data/app/views/spree/shared/_paypal_braintree_head_scripts.html.erb +10 -6
  44. data/app/views/spree/shared/_paypal_cart_button.html.erb +2 -0
  45. data/app/views/spree/shared/_venmo_button.html.erb +33 -0
  46. data/config/locales/en.yml +34 -0
  47. data/config/locales/it.yml +2 -0
  48. data/db/migrate/20211222170950_add_paypal_funding_source_to_solidus_paypal_braintree_sources.rb +5 -0
  49. data/db/migrate/20220104150301_add_venmo_to_braintree_configuration.rb +5 -0
  50. data/lib/controllers/backend/solidus_paypal_braintree/configurations_controller.rb +4 -1
  51. data/lib/controllers/frontend/solidus_paypal_braintree/transactions_controller.rb +1 -0
  52. data/lib/solidus_paypal_braintree/engine.rb +4 -2
  53. data/lib/solidus_paypal_braintree/factories.rb +32 -1
  54. data/lib/solidus_paypal_braintree/version.rb +1 -1
  55. data/lib/views/backend/solidus_paypal_braintree/configurations/list.html.erb +8 -0
  56. data/lib/views/backend/spree/admin/payments/source_views/_paypal_braintree.html.erb +5 -0
  57. data/lib/views/backend/spree/admin/shared/preference_fields/_preference_select.html.erb +13 -0
  58. data/lib/views/frontend/solidus_paypal_braintree/payments/_payment.html.erb +12 -0
  59. data/lib/views/frontend/spree/checkout/payment/_paypal_braintree.html.erb +4 -0
  60. data/lib/views/frontend/spree/shared/_paypal_checkout_button.html.erb +2 -0
  61. data/solidus_paypal_braintree.gemspec +6 -5
  62. data/spec/controllers/solidus_paypal_braintree/transactions_controller_spec.rb +1 -1
  63. data/spec/features/frontend/braintree_credit_card_checkout_spec.rb +5 -1
  64. data/spec/features/frontend/venmo_checkout_spec.rb +189 -0
  65. data/spec/fixtures/cassettes/checkout/valid_venmo_transaction.yml +599 -0
  66. data/spec/helpers/solidus_paypal_braintree/braintree_checkout_helper_spec.rb +70 -0
  67. data/spec/models/solidus_paypal_braintree/address_spec.rb +20 -0
  68. data/spec/models/solidus_paypal_braintree/gateway_spec.rb +1 -1
  69. data/spec/models/solidus_paypal_braintree/source_spec.rb +139 -0
  70. data/spec/models/solidus_paypal_braintree/transaction_address_spec.rb +8 -26
  71. data/spec/models/solidus_paypal_braintree/transaction_import_spec.rb +17 -0
  72. data/spec/spec_helper.rb +3 -0
  73. metadata +52 -15
@@ -12,7 +12,7 @@ RSpec.describe SolidusPaypalBraintree::Gateway do
12
12
  let(:user) { create :user }
13
13
 
14
14
  let(:source) do
15
- SolidusPaypalBraintree::Source.new(
15
+ SolidusPaypalBraintree::Source.create!(
16
16
  nonce: 'fake-valid-nonce',
17
17
  user: user,
18
18
  payment_type: payment_type,
@@ -11,6 +11,67 @@ RSpec.describe SolidusPaypalBraintree::Source, type: :model do
11
11
  expect(described_class.new(payment_type: 'AndroidPay')).to be_invalid
12
12
  end
13
13
 
14
+ describe 'attributes' do
15
+ context 'with paypal_funding_source' do
16
+ subject { build(:solidus_paypal_braintree_source, :paypal) }
17
+
18
+ it 'can be nil' do
19
+ subject.paypal_funding_source = nil
20
+
21
+ expect(subject).to be_valid
22
+ end
23
+
24
+ it 'makes empty strings nil' do
25
+ subject.paypal_funding_source = ''
26
+
27
+ result = subject.save
28
+
29
+ expect(result).to eq(true)
30
+ expect(subject.paypal_funding_source).to be_nil
31
+ end
32
+
33
+ it 'gets correctly mapped as an enum' do
34
+ subject.paypal_funding_source = 'applepay'
35
+
36
+ result = subject.save
37
+
38
+ expect(result).to eq(true)
39
+ expect(subject.paypal_funding_source).to eq('applepay')
40
+ expect(subject.applepay_funding?).to eq(true)
41
+ end
42
+
43
+ it "doesn't become nil when the payment_type is a PAYPAL" do
44
+ subject.payment_type = described_class::PAYPAL
45
+ subject.paypal_funding_source = 'venmo'
46
+
47
+ result = subject.save
48
+
49
+ expect(result).to eq(true)
50
+ expect(subject.venmo_funding?).to eq(true)
51
+ end
52
+
53
+ it 'becomes nil when the payment_type is a CREDIT CARD' do
54
+ subject.payment_type = described_class::CREDIT_CARD
55
+ subject.paypal_funding_source = 'venmo'
56
+
57
+ result = subject.save
58
+
59
+ expect(result).to eq(true)
60
+ expect(subject.paypal_funding_source).to be_nil
61
+ end
62
+
63
+ it 'becomes nil when the payment_type is APPLE PAY' do
64
+ subject.payment_type = described_class::APPLE_PAY
65
+ subject.paypal_funding_source = 'venmo'
66
+
67
+ result = subject.save
68
+
69
+ expect(result).to eq(true)
70
+ expect(subject.paypal_funding_source).to be_nil
71
+ end
72
+ end
73
+ end
74
+
14
75
  describe '#payment_method' do
15
76
  it 'uses spree_payment_method' do
16
77
  expect(described_class.new.build_payment_method).to be_a Spree::PaymentMethod
@@ -199,6 +260,22 @@ RSpec.describe SolidusPaypalBraintree::Source, type: :model do
199
260
  end
200
261
  end
201
262
 
263
+ describe "#venmo?" do
264
+ subject { described_class.new(payment_type: type).venmo? }
265
+
266
+ context "when the payment type is VenmoAccount" do
267
+ let(:type) { "VenmoAccount" }
268
+
269
+ it { is_expected.to be true }
270
+ end
271
+
272
+ context "when the payment type is not VenmoAccount" do
273
+ let(:type) { "Swish" }
274
+
275
+ it { is_expected.to be false }
276
+ end
277
+ end
278
+
202
279
  shared_context 'with unknown source token' do
203
280
  let(:braintree_payment_method) { double }
204
281
 
@@ -297,6 +374,16 @@ RSpec.describe SolidusPaypalBraintree::Source, type: :model do
297
374
 
298
375
  it { is_expected.to eq 'user@example.com' }
299
376
  end
377
+
378
+ context "when is a Venmo source" do
379
+ let(:type) { "VenmoAccount" }
380
+
381
+ before do
382
+ allow(payment_source).to receive(:username).and_return('venmojoe')
383
+ end
384
+
385
+ it { is_expected.to eq('venmojoe') }
386
+ end
300
387
  end
301
388
 
302
389
  describe "#card_type" do
@@ -339,6 +426,58 @@ RSpec.describe SolidusPaypalBraintree::Source, type: :model do
339
426
  end
340
427
  end
341
428
 
429
+ describe '#display_paypal_funding_source' do
430
+ let(:payment_source) { described_class.new }
431
+
432
+ context 'when the EN locale exists' do
433
+ it 'translates the funding source' do
434
+ payment_source.paypal_funding_source = 'card'
435
+
436
+ result = payment_source.display_paypal_funding_source
437
+
438
+ expect(result).to eq('Credit or debit card')
439
+ end
440
+ end
441
+
442
+ context "when the locale doesn't exist" do
443
+ it 'returns the paypal_funding_source as the default' do
444
+ allow(payment_source).to receive(:paypal_funding_source).and_return('non-existent')
445
+
446
+ result = payment_source.display_paypal_funding_source
447
+
448
+ expect(result).to eq('non-existent')
449
+ end
450
+ end
451
+ end
452
+
453
+ describe '#display_payment_type' do
454
+ subject { described_class.new(payment_type: type).display_payment_type }
455
+
456
+ context 'when type is CreditCard' do
457
+ let(:type) { 'CreditCard' }
458
+
459
+ it 'returns "Payment Type: Credit Card' do
460
+ expect(subject).to eq('Payment Type: Credit Card')
461
+ end
462
+ end
463
+
464
+ context 'when type is PayPalAccount' do
465
+ let(:type) { 'PayPalAccount' }
466
+
467
+ it 'returns "Payment Type: PayPal' do
468
+ expect(subject).to eq('Payment Type: PayPal')
469
+ end
470
+ end
471
+
472
+ context 'when type is VenmoAccount' do
473
+ let(:type) { 'VenmoAccount' }
474
+
475
+ it 'returns "Payment Type: Venmo' do
476
+ expect(subject).to eq('Payment Type: Venmo')
477
+ end
478
+ end
479
+ end
480
+
342
481
  describe '#reusable?' do
343
482
  subject { payment_source.reusable? }
344
483
 
@@ -219,34 +219,16 @@ describe SolidusPaypalBraintree::TransactionAddress do
219
219
  end
220
220
  end
221
221
 
222
- context 'when using first_name and last_name' do
223
- let(:address_params) { super().merge({ first_name: "Bruce", last_name: "Wayne" }) }
222
+ unless SolidusSupport.combined_first_and_last_name_in_address?
223
+ context 'when using first_name and last_name' do
224
+ let(:address_params) { super().merge({ first_name: "Bruce", last_name: "Wayne" }) }
224
225
 
225
- it 'displays a deprecation warning' do
226
- expect(Spree::Deprecation).to receive(:warn).
227
- with("first_name and last_name are deprecated. Use name instead.", any_args)
226
+ it 'displays a deprecation warning' do
227
+ expect(Spree::Deprecation).to receive(:warn).
228
+ with("first_name and last_name are deprecated. Use name instead.", any_args)
228
229
 
229
- subject
230
- end
231
- end
232
- end
233
-
234
- describe "#split" do
235
- subject { described_class.new.split_name(name) }
236
-
237
- context "with a one word name" do
238
- let(:name) { "Bruce" }
239
-
240
- it "correctly splits" do
241
- expect(subject).to eq ["Bruce"]
242
- end
243
- end
244
-
245
- context "with a multi word name" do
246
- let(:name) { "Bruce Wayne The Batman" }
247
-
248
- it "correctly splits" do
249
- expect(subject).to eq ["Bruce", "Wayne The Batman"]
230
+ subject
231
+ end
250
232
  end
251
233
  end
252
234
  end
@@ -66,6 +66,12 @@ describe SolidusPaypalBraintree::TransactionImport do
66
66
  expect(subject.payment_method).to eq braintree_gateway
67
67
  end
68
68
 
69
+ it 'takes the paypal funding source from the transaction' do
70
+ transaction.paypal_funding_source = 'paypal'
71
+
72
+ expect(subject.paypal_funding_source).to eq('paypal')
73
+ end
74
+
69
75
  context 'when order has a user' do
70
76
  let(:user) { Spree.user_class.new }
71
77
  let(:order) { Spree::Order.new user: user }
@@ -201,6 +207,17 @@ describe SolidusPaypalBraintree::TransactionImport do
201
207
  expect(order.shipping_address.state).to eq new_york
202
208
  end
203
209
 
210
+ context 'when transaction has paypal funding source' do
211
+ it 'saves it to the payment source' do
212
+ transaction.paypal_funding_source = 'paypal'
213
+
214
+ subject
215
+
216
+ source = SolidusPaypalBraintree::Source.last
217
+ expect(source.paypal_funding_source).to eq('paypal')
218
+ end
219
+ end
220
+
204
221
  context 'with a tax category' do
205
222
  before do
206
223
  zone = Spree::Zone.create name: 'nyc tax'
data/spec/spec_helper.rb CHANGED
@@ -8,6 +8,9 @@ require 'solidus_dev_support/rspec/coverage'
8
8
 
9
9
  require File.expand_path('dummy/config/environment.rb', __dir__)
10
10
 
11
+ require 'rails-controller-testing'
12
+ Rails::Controller::Testing.install
13
+
11
14
  # Requires factories and other useful helpers defined in spree_core.
12
15
  require 'solidus_dev_support/rspec/feature_helper'
13
16
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: solidus_paypal_braintree
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stembolt
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-11-11 00:00:00.000000000 Z
11
+ date: 2022-02-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemerchant
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '2.65'
33
+ version: '3.4'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '2.65'
40
+ version: '3.4'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: solidus_api
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -47,7 +47,7 @@ dependencies:
47
47
  version: 2.0.0
48
48
  - - "<"
49
49
  - !ruby/object:Gem::Version
50
- version: '3'
50
+ version: '4'
51
51
  type: :runtime
52
52
  prerelease: false
53
53
  version_requirements: !ruby/object:Gem::Requirement
@@ -57,7 +57,7 @@ dependencies:
57
57
  version: 2.0.0
58
58
  - - "<"
59
59
  - !ruby/object:Gem::Version
60
- version: '3'
60
+ version: '4'
61
61
  - !ruby/object:Gem::Dependency
62
62
  name: solidus_core
63
63
  requirement: !ruby/object:Gem::Requirement
@@ -67,7 +67,7 @@ dependencies:
67
67
  version: 2.0.0
68
68
  - - "<"
69
69
  - !ruby/object:Gem::Version
70
- version: '3'
70
+ version: '4'
71
71
  type: :runtime
72
72
  prerelease: false
73
73
  version_requirements: !ruby/object:Gem::Requirement
@@ -77,21 +77,27 @@ dependencies:
77
77
  version: 2.0.0
78
78
  - - "<"
79
79
  - !ruby/object:Gem::Version
80
- version: '3'
80
+ version: '4'
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: solidus_support
83
83
  requirement: !ruby/object:Gem::Requirement
84
84
  requirements:
85
- - - "~>"
85
+ - - ">="
86
86
  - !ruby/object:Gem::Version
87
- version: 0.5.0
87
+ version: 0.8.1
88
+ - - "<"
89
+ - !ruby/object:Gem::Version
90
+ version: '1'
88
91
  type: :runtime
89
92
  prerelease: false
90
93
  version_requirements: !ruby/object:Gem::Requirement
91
94
  requirements:
92
- - - "~>"
95
+ - - ">="
96
+ - !ruby/object:Gem::Version
97
+ version: 0.8.1
98
+ - - "<"
93
99
  - !ruby/object:Gem::Version
94
- version: 0.5.0
100
+ version: '1'
95
101
  - !ruby/object:Gem::Dependency
96
102
  name: selenium-webdriver
97
103
  requirement: !ruby/object:Gem::Requirement
@@ -165,6 +171,23 @@ files:
165
171
  - LICENSE
166
172
  - README.md
167
173
  - Rakefile
174
+ - app/assets/config/solidus_paypal_braintree_manifest.js
175
+ - app/assets/images/solidus_paypal_braintree/venmo/venmo_active_blue_button_280x48.svg
176
+ - app/assets/images/solidus_paypal_braintree/venmo/venmo_active_blue_button_320x48.svg
177
+ - app/assets/images/solidus_paypal_braintree/venmo/venmo_active_blue_button_375x48.svg
178
+ - app/assets/images/solidus_paypal_braintree/venmo/venmo_active_white_button_280x48.svg
179
+ - app/assets/images/solidus_paypal_braintree/venmo/venmo_active_white_button_320x48.svg
180
+ - app/assets/images/solidus_paypal_braintree/venmo/venmo_active_white_button_375x48.svg
181
+ - app/assets/images/solidus_paypal_braintree/venmo/venmo_blue_acceptance_mark.svg
182
+ - app/assets/images/solidus_paypal_braintree/venmo/venmo_blue_button_280x48.svg
183
+ - app/assets/images/solidus_paypal_braintree/venmo/venmo_blue_button_320x48.svg
184
+ - app/assets/images/solidus_paypal_braintree/venmo/venmo_blue_button_375x48.svg
185
+ - app/assets/images/solidus_paypal_braintree/venmo/venmo_blue_logo.svg
186
+ - app/assets/images/solidus_paypal_braintree/venmo/venmo_white_acceptance_mark.svg
187
+ - app/assets/images/solidus_paypal_braintree/venmo/venmo_white_button_280x48.svg
188
+ - app/assets/images/solidus_paypal_braintree/venmo/venmo_white_button_320x48.svg
189
+ - app/assets/images/solidus_paypal_braintree/venmo/venmo_white_button_375x48.svg
190
+ - app/assets/images/solidus_paypal_braintree/venmo/venmo_white_logo.svg
168
191
  - app/assets/javascripts/solidus_paypal_braintree/apple_pay_button.js
169
192
  - app/assets/javascripts/solidus_paypal_braintree/checkout.js
170
193
  - app/assets/javascripts/solidus_paypal_braintree/client.js
@@ -174,6 +197,7 @@ files:
174
197
  - app/assets/javascripts/solidus_paypal_braintree/paypal_button.js
175
198
  - app/assets/javascripts/solidus_paypal_braintree/paypal_messaging.js
176
199
  - app/assets/javascripts/solidus_paypal_braintree/promise.js
200
+ - app/assets/javascripts/solidus_paypal_braintree/venmo_button.js
177
201
  - app/assets/javascripts/spree/backend/solidus_paypal_braintree.js
178
202
  - app/assets/javascripts/spree/frontend/paypal_button.js
179
203
  - app/assets/javascripts/spree/frontend/solidus_paypal_braintree.js
@@ -198,6 +222,7 @@ files:
198
222
  - app/models/solidus_paypal_braintree/transaction.rb
199
223
  - app/models/solidus_paypal_braintree/transaction_address.rb
200
224
  - app/models/solidus_paypal_braintree/transaction_import.rb
225
+ - app/overrides/spree/payments/payment/add_paypal_funding_source_to_payment.rb
201
226
  - app/views/spree/api/payments/source_views/_paypal_braintree.json.jbuilder
202
227
  - app/views/spree/checkout/existing_payment/_paypal_braintree.html.erb
203
228
  - app/views/spree/shared/_apple_pay_button.html.erb
@@ -206,6 +231,7 @@ files:
206
231
  - app/views/spree/shared/_paypal_braintree_head_scripts.html.erb
207
232
  - app/views/spree/shared/_paypal_cart_button.html.erb
208
233
  - app/views/spree/shared/_paypal_messaging.html.erb
234
+ - app/views/spree/shared/_venmo_button.html.erb
209
235
  - bin/console
210
236
  - bin/rails
211
237
  - bin/setup
@@ -221,6 +247,8 @@ files:
221
247
  - db/migrate/20170508085402_add_not_null_constraint_to_sources_payment_type.rb
222
248
  - db/migrate/20190705115327_add_paypal_button_preferences_to_braintree_configurations.rb
223
249
  - db/migrate/20190911141712_add_3d_secure_to_braintree_configuration.rb
250
+ - db/migrate/20211222170950_add_paypal_funding_source_to_solidus_paypal_braintree_sources.rb
251
+ - db/migrate/20220104150301_add_venmo_to_braintree_configuration.rb
224
252
  - lib/controllers/backend/solidus_paypal_braintree/configurations_controller.rb
225
253
  - lib/controllers/frontend/solidus_paypal_braintree/checkouts_controller.rb
226
254
  - lib/controllers/frontend/solidus_paypal_braintree/transactions_controller.rb
@@ -234,8 +262,10 @@ files:
234
262
  - lib/views/backend/solidus_paypal_braintree/configurations/list.html.erb
235
263
  - lib/views/backend/spree/admin/payments/source_forms/_paypal_braintree.html.erb
236
264
  - lib/views/backend/spree/admin/payments/source_views/_paypal_braintree.html.erb
265
+ - lib/views/backend/spree/admin/shared/preference_fields/_preference_select.html.erb
237
266
  - lib/views/backend_v1.2/spree/admin/payments/source_forms/_paypal_braintree.html.erb
238
267
  - lib/views/backend_v2.4/spree/admin/shared/preference_fields/_hash.html.erb
268
+ - lib/views/frontend/solidus_paypal_braintree/payments/_payment.html.erb
239
269
  - lib/views/frontend/spree/checkout/payment/_paypal_braintree.html.erb
240
270
  - lib/views/frontend/spree/shared/_paypal_checkout_button.html.erb
241
271
  - solidus_paypal_braintree.gemspec
@@ -247,6 +277,7 @@ files:
247
277
  - spec/features/backend/new_payment_spec.rb
248
278
  - spec/features/frontend/braintree_credit_card_checkout_spec.rb
249
279
  - spec/features/frontend/paypal_checkout_spec.rb
280
+ - spec/features/frontend/venmo_checkout_spec.rb
250
281
  - spec/fixtures/cassettes/admin/invalid_credit_card.yml
251
282
  - spec/fixtures/cassettes/admin/resubmit_credit_card.yml
252
283
  - spec/fixtures/cassettes/admin/valid_credit_card.yml
@@ -257,6 +288,7 @@ files:
257
288
  - spec/fixtures/cassettes/checkout/resubmit_credit_card.yml
258
289
  - spec/fixtures/cassettes/checkout/update.yml
259
290
  - spec/fixtures/cassettes/checkout/valid_credit_card.yml
291
+ - spec/fixtures/cassettes/checkout/valid_venmo_transaction.yml
260
292
  - spec/fixtures/cassettes/gateway/authorize.yml
261
293
  - spec/fixtures/cassettes/gateway/authorize/credit_card/address.yml
262
294
  - spec/fixtures/cassettes/gateway/authorize/merchant_account/EUR.yml
@@ -278,6 +310,7 @@ files:
278
310
  - spec/fixtures/cassettes/transaction/import/valid/capture.yml
279
311
  - spec/fixtures/views/spree/orders/edit.html.erb
280
312
  - spec/helpers/solidus_paypal_braintree/braintree_admin_helper_spec.rb
313
+ - spec/helpers/solidus_paypal_braintree/braintree_checkout_helper_spec.rb
281
314
  - spec/models/solidus_paypal_braintree/address_spec.rb
282
315
  - spec/models/solidus_paypal_braintree/avs_result_spec.rb
283
316
  - spec/models/solidus_paypal_braintree/gateway_spec.rb
@@ -301,27 +334,29 @@ licenses:
301
334
  metadata:
302
335
  homepage_uri: https://github.com/solidusio/solidus_paypal_braintree
303
336
  source_code_uri: https://github.com/solidusio/solidus_paypal_braintree
337
+ rubygems_mfa_required: 'true'
304
338
  post_install_message:
305
339
  rdoc_options: []
306
340
  require_paths:
307
341
  - lib
308
342
  required_ruby_version: !ruby/object:Gem::Requirement
309
343
  requirements:
310
- - - "~>"
344
+ - - ">="
311
345
  - !ruby/object:Gem::Version
312
- version: '2.4'
346
+ version: '2.5'
313
347
  required_rubygems_version: !ruby/object:Gem::Requirement
314
348
  requirements:
315
349
  - - ">="
316
350
  - !ruby/object:Gem::Version
317
351
  version: '0'
318
352
  requirements: []
319
- rubygems_version: 3.1.4
353
+ rubygems_version: 3.2.20
320
354
  signing_key:
321
355
  specification_version: 4
322
356
  summary: Officially supported Paypal/Braintree extension
323
357
  test_files:
324
358
  - spec/spec_helper.rb
359
+ - spec/features/frontend/venmo_checkout_spec.rb
325
360
  - spec/features/frontend/braintree_credit_card_checkout_spec.rb
326
361
  - spec/features/frontend/paypal_checkout_spec.rb
327
362
  - spec/features/backend/configuration_spec.rb
@@ -356,6 +391,7 @@ test_files:
356
391
  - spec/fixtures/cassettes/checkout/invalid_credit_card.yml
357
392
  - spec/fixtures/cassettes/checkout/update.yml
358
393
  - spec/fixtures/cassettes/checkout/resubmit_credit_card.yml
394
+ - spec/fixtures/cassettes/checkout/valid_venmo_transaction.yml
359
395
  - spec/fixtures/cassettes/gateway/cancel/missing.yml
360
396
  - spec/fixtures/cassettes/gateway/cancel/refunds.yml
361
397
  - spec/fixtures/cassettes/gateway/cancel/void.yml
@@ -377,3 +413,4 @@ test_files:
377
413
  - spec/controllers/solidus_paypal_braintree/client_tokens_controller_spec.rb
378
414
  - spec/controllers/solidus_paypal_braintree/checkouts_controller_spec.rb
379
415
  - spec/helpers/solidus_paypal_braintree/braintree_admin_helper_spec.rb
416
+ - spec/helpers/solidus_paypal_braintree/braintree_checkout_helper_spec.rb