fat_zebra 3.2.4 → 3.2.6

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 (53) hide show
  1. checksums.yaml +4 -4
  2. data/.buildkite/pipeline.yml +34 -0
  3. data/.rubocop.yml +2 -2
  4. data/.tool-versions +1 -0
  5. data/.travis.yml +1 -4
  6. data/Gemfile +2 -0
  7. data/README.md +1 -1
  8. data/Rakefile +2 -0
  9. data/fat_zebra.gemspec +5 -1
  10. data/lib/fat_zebra/api_helper.rb +7 -4
  11. data/lib/fat_zebra/api_operation/delete.rb +2 -0
  12. data/lib/fat_zebra/api_operation/find.rb +2 -0
  13. data/lib/fat_zebra/api_operation/save.rb +2 -0
  14. data/lib/fat_zebra/api_operation/search.rb +2 -0
  15. data/lib/fat_zebra/api_operation/void.rb +2 -0
  16. data/lib/fat_zebra/api_resource.rb +11 -7
  17. data/lib/fat_zebra/authenticate.rb +2 -0
  18. data/lib/fat_zebra/bank_account.rb +2 -0
  19. data/lib/fat_zebra/batch.rb +5 -2
  20. data/lib/fat_zebra/card.rb +2 -0
  21. data/lib/fat_zebra/config.rb +3 -1
  22. data/lib/fat_zebra/customer.rb +2 -0
  23. data/lib/fat_zebra/direct_credit.rb +2 -0
  24. data/lib/fat_zebra/direct_debit.rb +2 -0
  25. data/lib/fat_zebra/errors.rb +3 -4
  26. data/lib/fat_zebra/fat_zebra_object.rb +2 -0
  27. data/lib/fat_zebra/information.rb +2 -0
  28. data/lib/fat_zebra/object_helper.rb +2 -0
  29. data/lib/fat_zebra/payment_plan.rb +2 -2
  30. data/lib/fat_zebra/paypal/authorization.rb +3 -1
  31. data/lib/fat_zebra/paypal/billing_agreement.rb +3 -1
  32. data/lib/fat_zebra/paypal/capture.rb +3 -1
  33. data/lib/fat_zebra/paypal/order.rb +3 -1
  34. data/lib/fat_zebra/paypal/refund.rb +3 -1
  35. data/lib/fat_zebra/purchase.rb +5 -2
  36. data/lib/fat_zebra/refund.rb +2 -0
  37. data/lib/fat_zebra/request/multipart/epilogue.rb +2 -0
  38. data/lib/fat_zebra/request/multipart/file_io.rb +2 -0
  39. data/lib/fat_zebra/request/multipart/param.rb +2 -0
  40. data/lib/fat_zebra/request/multipart/part.rb +3 -1
  41. data/lib/fat_zebra/request/multipart/stream.rb +3 -0
  42. data/lib/fat_zebra/request.rb +8 -5
  43. data/lib/fat_zebra/util.rb +4 -2
  44. data/lib/fat_zebra/utilities/mastercard/click_to_pay/registration.rb +35 -0
  45. data/lib/fat_zebra/validation.rb +6 -4
  46. data/lib/fat_zebra/version.rb +3 -1
  47. data/lib/fat_zebra/web_hook.rb +2 -0
  48. data/lib/fat_zebra.rb +7 -0
  49. data/spec/cassettes/FatZebra_PaymentPlan/_create/perpetual_subscription/1_1_4_1.yml +183 -0
  50. data/spec/cassettes/FatZebra_PaymentPlan/_create/perpetual_subscription/1_1_4_2.yml +183 -0
  51. data/spec/cassettes/FatZebra_PaymentPlan/_create/perpetual_subscription/1_1_4_3.yml +183 -0
  52. data/spec/lib/fat_zebra/payment_plan_spec.rb +33 -10
  53. metadata +17 -11
@@ -3,7 +3,7 @@ require 'spec_helper'
3
3
  describe FatZebra::PaymentPlan do
4
4
  let(:customer) { FatZebra::Customer.create(customer_valid_payload) }
5
5
 
6
- let(:payment_plan_valid_payload) {{
6
+ let(:valid_instalment_payload) {{
7
7
  payment_method: 'Credit Card',
8
8
  customer: customer.id,
9
9
  reference: SecureRandom.hex,
@@ -16,22 +16,45 @@ describe FatZebra::PaymentPlan do
16
16
  total_amount: 500
17
17
  }}
18
18
 
19
+ let(:valid_subscription_payload) {{
20
+ payment_method: 'Credit Card',
21
+ customer: customer.id,
22
+ reference: SecureRandom.hex,
23
+ setup_fee: 0,
24
+ amount: 100,
25
+ start_date: (Date.today + 90).strftime('%Y-%m-%d'),
26
+ end_date: (Date.today + 180).strftime('%Y-%m-%d'),
27
+ frequency: 'Weekly',
28
+ anniversary: 5,
29
+ }}
30
+
31
+
19
32
  describe '.create', :vcr do
20
- subject(:payment_plan) { FatZebra::PaymentPlan.create(payment_plan_valid_payload) }
33
+ subject(:payment_plan) { FatZebra::PaymentPlan.create(valid_instalment_payload) }
21
34
 
22
35
  it { is_expected.to be_accepted }
23
36
  it { expect(payment_plan.id).to_not be_empty }
24
37
  it { expect(payment_plan.payments.count).to eq(5) }
25
38
 
39
+ context 'perpetual subscription' do
40
+ subject(:subscription_payload) { FatZebra::PaymentPlan.create(valid_subscription_payload) }
41
+ it { is_expected.to be_accepted }
42
+ it { expect(subscription_payload.id).to_not be_empty }
43
+ it { expect(subscription_payload.payments.count).to eq(12) }
44
+ end
45
+
26
46
  context 'validations' do
27
- let(:payment_plan_valid_payload) {{}}
47
+ let(:valid_instalment_payload) {{}}
28
48
 
29
49
  it { expect { payment_plan }.to raise_error(FatZebra::RequestValidationError) }
50
+
30
51
  end
52
+
53
+
31
54
  end
32
55
 
33
56
  describe '.find', :vcr do
34
- let!(:create) { FatZebra::PaymentPlan.create(payment_plan_valid_payload) }
57
+ let!(:create) { FatZebra::PaymentPlan.create(valid_instalment_payload) }
35
58
  subject(:payment_plan) { FatZebra::PaymentPlan.find(create.reference) }
36
59
 
37
60
  it { is_expected.to be_accepted }
@@ -40,7 +63,7 @@ describe FatZebra::PaymentPlan do
40
63
  end
41
64
 
42
65
  describe '.update', :vcr do
43
- let(:create) { FatZebra::PaymentPlan.create(payment_plan_valid_payload) }
66
+ let(:create) { FatZebra::PaymentPlan.create(valid_instalment_payload) }
44
67
 
45
68
  subject(:payment_plan) { FatZebra::PaymentPlan.update(create.id, new_status: 'Suspended') }
46
69
 
@@ -50,7 +73,7 @@ describe FatZebra::PaymentPlan do
50
73
  end
51
74
 
52
75
  context '#update', :vcr do
53
- let(:payment_plan) { FatZebra::PaymentPlan.new(payment_plan_valid_payload) }
76
+ let(:payment_plan) { FatZebra::PaymentPlan.new(valid_instalment_payload) }
54
77
  before { payment_plan.save }
55
78
  before { payment_plan.update(new_status: 'Suspended') }
56
79
 
@@ -59,21 +82,21 @@ describe FatZebra::PaymentPlan do
59
82
  end
60
83
 
61
84
  describe '.delete', :vcr do
62
- let(:create) { FatZebra::PaymentPlan.create(payment_plan_valid_payload) }
85
+ let(:create) { FatZebra::PaymentPlan.create(valid_instalment_payload) }
63
86
  subject(:payment_plan) { FatZebra::PaymentPlan.delete(create.id) }
64
87
 
65
88
  it { is_expected.to be_accepted }
66
89
  end
67
90
 
68
91
  describe '#destroy', :vcr do
69
- let(:payment_plan) { FatZebra::PaymentPlan.create(payment_plan_valid_payload) }
92
+ let(:payment_plan) { FatZebra::PaymentPlan.create(valid_instalment_payload) }
70
93
  before { payment_plan.destroy }
71
94
 
72
95
  it { expect(payment_plan.status).to eq('Cancelled') }
73
96
  end
74
97
 
75
98
  describe '#suspend!', :vcr do
76
- let(:payment_plan) { FatZebra::PaymentPlan.new(payment_plan_valid_payload) }
99
+ let(:payment_plan) { FatZebra::PaymentPlan.new(valid_instalment_payload) }
77
100
  before { payment_plan.save }
78
101
  before { payment_plan.suspend! }
79
102
 
@@ -82,7 +105,7 @@ describe FatZebra::PaymentPlan do
82
105
  end
83
106
 
84
107
  describe '#active!', :vcr do
85
- let(:payment_plan) { FatZebra::PaymentPlan.new(payment_plan_valid_payload) }
108
+ let(:payment_plan) { FatZebra::PaymentPlan.new(valid_instalment_payload) }
86
109
  before { payment_plan.save }
87
110
  before { expect(payment_plan.suspend!.status).to eq('Suspended') }
88
111
  before { payment_plan.active! }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fat_zebra
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.4
4
+ version: 3.2.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Fat Zebra
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-06-09 00:00:00.000000000 Z
11
+ date: 2023-10-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: byebug
@@ -56,16 +56,16 @@ dependencies:
56
56
  name: rubocop
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - "~>"
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
- version: 0.58.1
61
+ version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - "~>"
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
- version: 0.58.1
68
+ version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: vcr
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -102,9 +102,11 @@ executables: []
102
102
  extensions: []
103
103
  extra_rdoc_files: []
104
104
  files:
105
+ - ".buildkite/pipeline.yml"
105
106
  - ".gitignore"
106
107
  - ".rspec"
107
108
  - ".rubocop.yml"
109
+ - ".tool-versions"
108
110
  - ".travis.yml"
109
111
  - Gemfile
110
112
  - README.md
@@ -145,6 +147,7 @@ files:
145
147
  - lib/fat_zebra/request/multipart/part.rb
146
148
  - lib/fat_zebra/request/multipart/stream.rb
147
149
  - lib/fat_zebra/util.rb
150
+ - lib/fat_zebra/utilities/mastercard/click_to_pay/registration.rb
148
151
  - lib/fat_zebra/validation.rb
149
152
  - lib/fat_zebra/version.rb
150
153
  - lib/fat_zebra/web_hook.rb
@@ -234,6 +237,9 @@ files:
234
237
  - spec/cassettes/FatZebra_PaymentPlan/_create/1_1_1.yml
235
238
  - spec/cassettes/FatZebra_PaymentPlan/_create/1_1_2.yml
236
239
  - spec/cassettes/FatZebra_PaymentPlan/_create/1_1_3.yml
240
+ - spec/cassettes/FatZebra_PaymentPlan/_create/perpetual_subscription/1_1_4_1.yml
241
+ - spec/cassettes/FatZebra_PaymentPlan/_create/perpetual_subscription/1_1_4_2.yml
242
+ - spec/cassettes/FatZebra_PaymentPlan/_create/perpetual_subscription/1_1_4_3.yml
237
243
  - spec/cassettes/FatZebra_PaymentPlan/_delete/1_5_1.yml
238
244
  - spec/cassettes/FatZebra_PaymentPlan/_destroy/1_6_1.yml
239
245
  - spec/cassettes/FatZebra_PaymentPlan/_find/1_2_1.yml
@@ -362,7 +368,7 @@ files:
362
368
  homepage: ''
363
369
  licenses: []
364
370
  metadata: {}
365
- post_install_message:
371
+ post_install_message:
366
372
  rdoc_options: []
367
373
  require_paths:
368
374
  - lib
@@ -370,15 +376,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
370
376
  requirements:
371
377
  - - ">="
372
378
  - !ruby/object:Gem::Version
373
- version: '0'
379
+ version: '2.7'
374
380
  required_rubygems_version: !ruby/object:Gem::Requirement
375
381
  requirements:
376
382
  - - ">="
377
383
  - !ruby/object:Gem::Version
378
384
  version: '0'
379
385
  requirements: []
380
- rubygems_version: 3.1.2
381
- signing_key:
386
+ rubygems_version: 3.1.6
387
+ signing_key:
382
388
  specification_version: 4
383
389
  summary: Fat Zebra payments gem - integrate your ruby app with Fat Zebra
384
390
  test_files: []