solidus_paypal_braintree 1.1.0 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (71) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +4 -0
  3. data/.gitignore +1 -0
  4. data/CHANGELOG.md +70 -1
  5. data/Gemfile +2 -5
  6. data/app/models/solidus_paypal_braintree/gateway.rb +2 -0
  7. data/app/models/solidus_paypal_braintree/transaction.rb +2 -2
  8. data/app/models/solidus_paypal_braintree/transaction_import.rb +2 -2
  9. data/lib/solidus_paypal_braintree/engine.rb +5 -3
  10. data/lib/solidus_paypal_braintree/version.rb +1 -1
  11. data/solidus_paypal_braintree.gemspec +0 -1
  12. metadata +7 -125
  13. data/spec/controllers/solidus_paypal_braintree/checkouts_controller_spec.rb +0 -99
  14. data/spec/controllers/solidus_paypal_braintree/client_tokens_controller_spec.rb +0 -55
  15. data/spec/controllers/solidus_paypal_braintree/configurations_controller_spec.rb +0 -73
  16. data/spec/controllers/solidus_paypal_braintree/transactions_controller_spec.rb +0 -183
  17. data/spec/features/backend/configuration_spec.rb +0 -23
  18. data/spec/features/backend/new_payment_spec.rb +0 -137
  19. data/spec/features/frontend/braintree_credit_card_checkout_spec.rb +0 -191
  20. data/spec/features/frontend/paypal_checkout_spec.rb +0 -166
  21. data/spec/features/frontend/venmo_checkout_spec.rb +0 -189
  22. data/spec/fixtures/cassettes/admin/invalid_credit_card.yml +0 -63
  23. data/spec/fixtures/cassettes/admin/resubmit_credit_card.yml +0 -352
  24. data/spec/fixtures/cassettes/admin/valid_credit_card.yml +0 -412
  25. data/spec/fixtures/cassettes/braintree/create_profile.yml +0 -71
  26. data/spec/fixtures/cassettes/braintree/generate_token.yml +0 -63
  27. data/spec/fixtures/cassettes/braintree/token.yml +0 -63
  28. data/spec/fixtures/cassettes/checkout/invalid_credit_card.yml +0 -63
  29. data/spec/fixtures/cassettes/checkout/resubmit_credit_card.yml +0 -216
  30. data/spec/fixtures/cassettes/checkout/update.yml +0 -71
  31. data/spec/fixtures/cassettes/checkout/valid_credit_card.yml +0 -156
  32. data/spec/fixtures/cassettes/checkout/valid_venmo_transaction.yml +0 -599
  33. data/spec/fixtures/cassettes/gateway/authorize/credit_card/address.yml +0 -86
  34. data/spec/fixtures/cassettes/gateway/authorize/merchant_account/EUR.yml +0 -154
  35. data/spec/fixtures/cassettes/gateway/authorize/paypal/EUR.yml +0 -90
  36. data/spec/fixtures/cassettes/gateway/authorize/paypal/address.yml +0 -90
  37. data/spec/fixtures/cassettes/gateway/authorize.yml +0 -86
  38. data/spec/fixtures/cassettes/gateway/authorized_transaction.yml +0 -73
  39. data/spec/fixtures/cassettes/gateway/cancel/missing.yml +0 -63
  40. data/spec/fixtures/cassettes/gateway/cancel/refunds.yml +0 -272
  41. data/spec/fixtures/cassettes/gateway/cancel/void.yml +0 -201
  42. data/spec/fixtures/cassettes/gateway/capture.yml +0 -141
  43. data/spec/fixtures/cassettes/gateway/complete.yml +0 -157
  44. data/spec/fixtures/cassettes/gateway/credit.yml +0 -208
  45. data/spec/fixtures/cassettes/gateway/purchase.yml +0 -87
  46. data/spec/fixtures/cassettes/gateway/settled_transaction.yml +0 -140
  47. data/spec/fixtures/cassettes/gateway/void.yml +0 -137
  48. data/spec/fixtures/cassettes/source/card_type.yml +0 -267
  49. data/spec/fixtures/cassettes/source/last4.yml +0 -267
  50. data/spec/fixtures/cassettes/transaction/import/valid/capture.yml +0 -224
  51. data/spec/fixtures/cassettes/transaction/import/valid.yml +0 -71
  52. data/spec/fixtures/views/spree/orders/edit.html.erb +0 -50
  53. data/spec/helpers/solidus_paypal_braintree/braintree_admin_helper_spec.rb +0 -17
  54. data/spec/helpers/solidus_paypal_braintree/braintree_checkout_helper_spec.rb +0 -70
  55. data/spec/models/solidus_paypal_braintree/address_spec.rb +0 -71
  56. data/spec/models/solidus_paypal_braintree/avs_result_spec.rb +0 -317
  57. data/spec/models/solidus_paypal_braintree/gateway_spec.rb +0 -692
  58. data/spec/models/solidus_paypal_braintree/response_spec.rb +0 -280
  59. data/spec/models/solidus_paypal_braintree/source_spec.rb +0 -499
  60. data/spec/models/solidus_paypal_braintree/transaction_address_spec.rb +0 -235
  61. data/spec/models/solidus_paypal_braintree/transaction_import_spec.rb +0 -300
  62. data/spec/models/solidus_paypal_braintree/transaction_spec.rb +0 -85
  63. data/spec/models/spree/store_spec.rb +0 -14
  64. data/spec/requests/spree/api/orders_controller_spec.rb +0 -36
  65. data/spec/spec_helper.rb +0 -29
  66. data/spec/support/capybara.rb +0 -7
  67. data/spec/support/factories.rb +0 -2
  68. data/spec/support/gateway_helpers.rb +0 -29
  69. data/spec/support/order_ready_for_payment.rb +0 -37
  70. data/spec/support/vcr.rb +0 -42
  71. data/spec/support/views.rb +0 -1
@@ -1,317 +0,0 @@
1
- require 'spec_helper'
2
-
3
- RSpec.describe SolidusPaypalBraintree::AVSResult do
4
- describe 'AVS response message' do
5
- subject { described_class.build(transaction).to_hash['message'] }
6
-
7
- context 'with avs_error_response_code' do
8
- let(:transaction) do
9
- instance_double('Braintree::Transaction',
10
- avs_error_response_code: error_code,
11
- avs_street_address_response_code: nil,
12
- avs_postal_code_response_code: nil)
13
- end
14
-
15
- context 'when error code is S' do
16
- let(:error_code) { 'S' }
17
-
18
- it { is_expected.to eq 'U.S.-issuing bank does not support AVS.' }
19
- end
20
-
21
- context 'when error code is E' do
22
- let(:error_code) { 'E' }
23
-
24
- it { is_expected.to eq 'AVS data is invalid or AVS is not allowed for this card type.' }
25
- end
26
- end
27
-
28
- context 'without avs_error_response_code' do
29
- let(:transaction) do
30
- instance_double('Braintree::Transaction',
31
- avs_error_response_code: nil,
32
- avs_street_address_response_code: codes.first,
33
- avs_postal_code_response_code: codes.last)
34
- end
35
-
36
- context 'when street address result is M and postal code result is N' do
37
- let(:codes) { %w(M N) }
38
-
39
- it { is_expected.to eq 'Street address matches, but postal code does not match.' }
40
-
41
- it {
42
- expect(described_class.build(transaction).to_hash).to include('street_match' => 'M', 'postal_match' => 'N')
43
- }
44
- end
45
-
46
- context 'when street address result is M and postal code result is U' do
47
- let(:codes) { %w(M U) }
48
-
49
- it { is_expected.to eq 'Street address matches, but postal code not verified.' }
50
-
51
- it {
52
- expect(described_class.build(transaction).to_hash).to include('street_match' => 'M', 'postal_match' => 'U')
53
- }
54
- end
55
-
56
- context 'when street address result is M and postal code result is I' do
57
- let(:codes) { %w(M I) }
58
-
59
- it { is_expected.to eq 'Street address matches, but postal code not verified.' }
60
-
61
- it {
62
- expect(described_class.build(transaction).to_hash).to include('street_match' => 'M', 'postal_match' => 'I')
63
- }
64
- end
65
-
66
- context 'when street address result is M and postal code result is A' do
67
- let(:codes) { %w(M A) }
68
-
69
- it { is_expected.to eq 'Street address matches, but postal code not verified.' }
70
-
71
- it {
72
- expect(described_class.build(transaction).to_hash).to include('street_match' => 'M', 'postal_match' => 'A')
73
- }
74
- end
75
-
76
- context 'when street address result is N and postal code result is N' do
77
- let(:codes) { %w(N N) }
78
-
79
- it { is_expected.to eq 'Street address and postal code do not match.' }
80
-
81
- it {
82
- expect(described_class.build(transaction).to_hash).to include('street_match' => 'N', 'postal_match' => 'N')
83
- }
84
- end
85
-
86
- context 'when street address result is N and postal code result is U' do
87
- let(:codes) { %w(N U) }
88
-
89
- it { is_expected.to eq 'Street address and postal code do not match.' }
90
-
91
- it {
92
- expect(described_class.build(transaction).to_hash).to include('street_match' => 'N', 'postal_match' => 'U')
93
- }
94
- end
95
-
96
- context 'when street address result is N and postal code result is I' do
97
- let(:codes) { %w(N I) }
98
-
99
- it { is_expected.to eq 'Street address and postal code do not match.' }
100
-
101
- it {
102
- expect(described_class.build(transaction).to_hash).to include('street_match' => 'N', 'postal_match' => 'I')
103
- }
104
- end
105
-
106
- context 'when street address result is N and postal code result is A' do
107
- let(:codes) { %w(N A) }
108
-
109
- it { is_expected.to eq 'Street address and postal code do not match.' }
110
-
111
- it {
112
- expect(described_class.build(transaction).to_hash).to include('street_match' => 'N', 'postal_match' => 'A')
113
- }
114
- end
115
-
116
- context 'when street address result is I and postal code result is N' do
117
- let(:codes) { %w(I N) }
118
-
119
- it { is_expected.to eq 'Street address and postal code do not match.' }
120
-
121
- it {
122
- expect(described_class.build(transaction).to_hash).to include('street_match' => 'I', 'postal_match' => 'N')
123
- }
124
- end
125
-
126
- context 'when street address result is A and postal code result is N' do
127
- let(:codes) { %w(A N) }
128
-
129
- it { is_expected.to eq 'Street address and postal code do not match.' }
130
-
131
- it {
132
- expect(described_class.build(transaction).to_hash).to include('street_match' => 'A', 'postal_match' => 'N')
133
- }
134
- end
135
-
136
- context 'when street address result is U and postal code result is U' do
137
- let(:codes) { %w(U U) }
138
-
139
- it { is_expected.to eq 'Address not verified.' }
140
-
141
- it {
142
- expect(described_class.build(transaction).to_hash).to include('street_match' => 'U', 'postal_match' => 'U')
143
- }
144
- end
145
-
146
- context 'when street address result is U and postal code result is I' do
147
- let(:codes) { %w(U I) }
148
-
149
- it { is_expected.to eq 'Address not verified.' }
150
-
151
- it {
152
- expect(described_class.build(transaction).to_hash).to include('street_match' => 'U', 'postal_match' => 'I')
153
- }
154
- end
155
-
156
- context 'when street address result is U and postal code result is A' do
157
- let(:codes) { %w(U A) }
158
-
159
- it { is_expected.to eq 'Address not verified.' }
160
-
161
- it {
162
- expect(described_class.build(transaction).to_hash).to include('street_match' => 'U', 'postal_match' => 'A')
163
- }
164
- end
165
-
166
- context 'when street address result is I and postal code result is U' do
167
- let(:codes) { %w(I U) }
168
-
169
- it { is_expected.to eq 'Address not verified.' }
170
-
171
- it {
172
- expect(described_class.build(transaction).to_hash).to include('street_match' => 'I', 'postal_match' => 'U')
173
- }
174
- end
175
-
176
- context 'when street address result is I and postal code result is I' do
177
- let(:codes) { %w(I I) }
178
-
179
- it { is_expected.to eq 'Address not verified.' }
180
-
181
- it {
182
- expect(described_class.build(transaction).to_hash).to include('street_match' => 'I', 'postal_match' => 'I')
183
- }
184
- end
185
-
186
- context 'when street address result is I and postal code result is A' do
187
- let(:codes) { %w(I A) }
188
-
189
- it { is_expected.to eq 'Address not verified.' }
190
-
191
- it {
192
- expect(described_class.build(transaction).to_hash).to include('street_match' => 'I', 'postal_match' => 'A')
193
- }
194
- end
195
-
196
- context 'when street address result is A and postal code result is U' do
197
- let(:codes) { %w(A U) }
198
-
199
- it { is_expected.to eq 'Address not verified.' }
200
-
201
- it {
202
- expect(described_class.build(transaction).to_hash).to include('street_match' => 'A', 'postal_match' => 'U')
203
- }
204
- end
205
-
206
- context 'when street address result is A and postal code result is I' do
207
- let(:codes) { %w(A I) }
208
-
209
- it { is_expected.to eq 'Address not verified.' }
210
-
211
- it {
212
- expect(described_class.build(transaction).to_hash).to include('street_match' => 'A', 'postal_match' => 'I')
213
- }
214
- end
215
-
216
- context 'when street address result is A and postal code result is A' do
217
- let(:codes) { %w(A A) }
218
-
219
- it { is_expected.to eq 'Address not verified.' }
220
-
221
- it {
222
- expect(described_class.build(transaction).to_hash).to include('street_match' => 'A', 'postal_match' => 'A')
223
- }
224
- end
225
-
226
- context 'when street address result is M and postal code result is M' do
227
- let(:codes) { %w(M M) }
228
-
229
- it { is_expected.to eq 'Street address and postal code match.' }
230
-
231
- it {
232
- expect(described_class.build(transaction).to_hash).to include('street_match' => 'M', 'postal_match' => 'M')
233
- }
234
- end
235
-
236
- context 'when street address result is U and postal code result is N' do
237
- let(:codes) { %w(U N) }
238
-
239
- it { is_expected.to eq "Street address and postal code do not match. For American Express: Card member's name, street address and postal code do not match." } # rubocop:disable Layout/LineLength
240
-
241
- it {
242
- expect(described_class.build(transaction).to_hash).to include('street_match' => 'U', 'postal_match' => 'N')
243
- }
244
- end
245
-
246
- context 'when street address result is U and postal code result is M' do
247
- let(:codes) { %w(U M) }
248
-
249
- it { is_expected.to eq 'Postal code matches, but street address not verified.' }
250
-
251
- it {
252
- expect(described_class.build(transaction).to_hash).to include('street_match' => 'U', 'postal_match' => 'M')
253
- }
254
- end
255
-
256
- context 'when street address result is I and postal code result is M' do
257
- let(:codes) { %w(I M) }
258
-
259
- it { is_expected.to eq 'Postal code matches, but street address not verified.' }
260
-
261
- it {
262
- expect(described_class.build(transaction).to_hash).to include('street_match' => 'I', 'postal_match' => 'M')
263
- }
264
- end
265
-
266
- context 'when street address result is A and postal code result is M' do
267
- let(:codes) { %w(A M) }
268
-
269
- it { is_expected.to eq 'Postal code matches, but street address not verified.' }
270
-
271
- it {
272
- expect(described_class.build(transaction).to_hash).to include('street_match' => 'A', 'postal_match' => 'M')
273
- }
274
- end
275
-
276
- context 'when street address result is N and postal code result is M' do
277
- let(:codes) { %w(N M) }
278
-
279
- it { is_expected.to eq 'Street address does not match, but 5-digit postal code matches.' }
280
-
281
- it {
282
- expect(described_class.build(transaction).to_hash).to include('street_match' => 'N', 'postal_match' => 'M')
283
- }
284
- end
285
-
286
- context 'when street address response code is nil' do
287
- let(:codes) { [nil, 'M'] }
288
-
289
- it { is_expected.to be_nil }
290
-
291
- it {
292
- expect(described_class.build(transaction).to_hash).to include('street_match' => nil, 'postal_match' => 'M')
293
- }
294
- end
295
-
296
- context 'when postal code response code is nil' do
297
- let(:codes) { ['M', nil] }
298
-
299
- it { is_expected.to be_nil }
300
-
301
- it {
302
- expect(described_class.build(transaction).to_hash).to include('street_match' => 'M', 'postal_match' => nil)
303
- }
304
- end
305
-
306
- context 'when postal code and street address response code is nil' do
307
- let(:codes) { [nil, nil] }
308
-
309
- it { is_expected.to be_nil }
310
-
311
- it {
312
- expect(described_class.build(transaction).to_hash).to include('street_match' => nil, 'postal_match' => nil)
313
- }
314
- end
315
- end
316
- end
317
- end