mock_chargebee 0.0.8 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: eb8a639b517ffc4fc02bb867abc491e16582acfa8d5c96537f141e0e5c254a0f
4
- data.tar.gz: 6647a61e6a627082b36a2b5cd3f922773de4c9fbc5b6067cfdbb724b1430c38b
3
+ metadata.gz: 3dccf30dc307af0c4c892a6f29630d0bafc08e4f1aa69fae1be3b339ac72d570
4
+ data.tar.gz: ea449abd11ea117bbbe514e2f615cecf30e0234c8fff364e9467d074a3a04c4d
5
5
  SHA512:
6
- metadata.gz: d4f7227d11feb543fc01dfd81f57b4666d0779f3ed8be834a6523e23e55525d0ab0d5bfbd3ac831dce150d3753eaae5bfae868d0f71a13ea10578d4078b60ec5
7
- data.tar.gz: bd6dead1bda654909ded2de8100a6275c6ad6805c8beefb01cb2099c22f1f63a342666738c3362322dec42436b29c4bfda4cb233df7c2ce96b36fff15a4a5101
6
+ metadata.gz: 7bec53df9d34a61216207e7016f756d5da73ff958bc5900946de16f850e76cd81c2ab29e017b3b3a0607afe184450b30b4080334c8649ff74ccc8c02ffb6f3b0
7
+ data.tar.gz: d10c1652a753424d7d58dacb94a3fdbc1f30ee90d2409be298d0bc514f0e7ea98cab2bde0ac0ae9c9a0b47da088881b4bff25a42e0e425343186c40b8c2e4c8c
@@ -0,0 +1,65 @@
1
+ {
2
+ "invoices": [
3
+ {
4
+ "adjustment_credit_notes": [],
5
+ "amount_adjusted": 0,
6
+ "amount_due": 895,
7
+ "amount_paid": 0,
8
+ "amount_to_collect": 895,
9
+ "applied_credits": [],
10
+ "base_currency_code": "USD",
11
+ "credits_applied": 0,
12
+ "currency_code": "USD",
13
+ "customer_id": "__test__KyVnHhSBWSjWC2p",
14
+ "date": 1517501348,
15
+ "deleted": false,
16
+ "due_date": 1517501348,
17
+ "dunning_attempts": [],
18
+ "exchange_rate": 1,
19
+ "first_invoice": true,
20
+ "has_advance_charges": false,
21
+ "id": "__demo_inv__1",
22
+ "is_gifted": false,
23
+ "issued_credit_notes": [],
24
+ "line_items": [
25
+ {
26
+ "amount": 895,
27
+ "customer_id": "__test__KyVnHhSBWSjWC2p",
28
+ "date_from": 1517501348,
29
+ "date_to": 1519920548,
30
+ "description": "No Trial",
31
+ "discount_amount": 0,
32
+ "entity_id": "no_trial",
33
+ "entity_type": "plan",
34
+ "id": "li___test__KyVnHhSBWSjXc2r",
35
+ "is_taxed": false,
36
+ "item_level_discount_amount": 0,
37
+ "object": "line_item",
38
+ "pricing_model": "per_unit",
39
+ "quantity": 1,
40
+ "subscription_id": "__test__KyVnHhSBWSjWC2p",
41
+ "tax_amount": 0,
42
+ "tax_exempt_reason": "tax_not_configured",
43
+ "unit_amount": 895
44
+ }
45
+ ],
46
+ "linked_orders": [],
47
+ "linked_payments": [],
48
+ "net_term_days": 0,
49
+ "new_sales_amount": 895,
50
+ "object": "invoice",
51
+ "price_type": "tax_exclusive",
52
+ "recurring": true,
53
+ "resource_version": 1517501348000,
54
+ "round_off_amount": 0,
55
+ "status": "payment_due",
56
+ "sub_total": 895,
57
+ "subscription_id": "__test__KyVnHhSBWSjWC2p",
58
+ "tax": 0,
59
+ "term_finalized": true,
60
+ "total": 895,
61
+ "updated_at": 1517501348,
62
+ "write_off_amount": 0
63
+ }
64
+ ]
65
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "card": {
3
+ "brand": "visa",
4
+ "expiry_month": 5,
5
+ "expiry_year": 2022,
6
+ "first_name": "MyCard",
7
+ "funding_type": "credit",
8
+ "iin": "******",
9
+ "last4": "4242",
10
+ "last_name": "testing",
11
+ "masked_number": "************4242",
12
+ "object": "card"
13
+ },
14
+ "created_at": 1517501366,
15
+ "customer_id": "__test__KyVnHhSBWSnun3m",
16
+ "deleted": false,
17
+ "gateway": "stripe",
18
+ "gateway_account_id": "gw___test__KyVnGlSBWSlFuCx",
19
+ "id": "pm___test__KyVnHhSBWSoLV3o",
20
+ "issuing_country": "US",
21
+ "object": "payment_source",
22
+ "reference_id": "cus_I57Fg22l3szyZI/card_1HUx0bJv9j0DyntJi5f2GxEj",
23
+ "resource_version": 1517501366000,
24
+ "status": "valid",
25
+ "type": "card",
26
+ "updated_at": 1517501366
27
+ }
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MockChargebee
4
+ module Models
5
+ class PaymentSource < Base
6
+ RESOURCE_ID_PREFIX = 'payment_source'
7
+
8
+ load_fixtures :payment_source
9
+
10
+ def self.find(id)
11
+ repositories.payment_sources.fetch(id)
12
+ end
13
+
14
+ def self.create(params)
15
+ already_exists!(params['reference_id']) if already_exists?(params['reference_id'])
16
+
17
+ params['id'] = unique_id
18
+ source = payment_source_fixture.merge(params)
19
+ repositories.payment_sources.store(source['id'], source)
20
+
21
+ source
22
+ end
23
+
24
+ def self.already_exists?(ref_id)
25
+ return false if ref_id.nil?
26
+
27
+ repositories.payment_sources.values.include?(ref_id)
28
+ end
29
+ end
30
+ end
31
+ end
@@ -14,7 +14,8 @@ module MockChargebee
14
14
  :subscriptions,
15
15
  :coupons,
16
16
  :portal_sessions,
17
- :plans
17
+ :plans,
18
+ :payment_sources
18
19
 
19
20
  class RepoHash < Hash
20
21
  def fetch(*)
@@ -0,0 +1,14 @@
1
+ module MockChargebee
2
+ module RequestHandlers
3
+ class PaymentSources < Base
4
+ private
5
+
6
+ def post
7
+ customer = Models::Customer.find(params['customer_id'])
8
+ payment_source = Models::PaymentSource.create(params)
9
+
10
+ { customer: customer, payment_source: payment_source }
11
+ end
12
+ end
13
+ end
14
+ end
@@ -17,7 +17,6 @@ module MockChargebee
17
17
 
18
18
  def get
19
19
  plan = Models::Plan.find(id)
20
- binding.pry
21
20
 
22
21
  { plan: plan }
23
22
  end
@@ -0,0 +1,15 @@
1
+ module MockChargebee
2
+ module RequestHandlers
3
+ class UnbilledCharges < Base
4
+ load_fixtures :invoice_unbilled_charges_response
5
+
6
+ private
7
+
8
+ def post
9
+ Models::Subscription.find(params['subscription_id'])
10
+
11
+ invoice_unbilled_charges_response_fixture
12
+ end
13
+ end
14
+ end
15
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module MockChargebee
4
- VERSION = '0.0.8'
4
+ VERSION = '1.0.0'
5
5
  end
@@ -1,29 +1,29 @@
1
- lib = File.expand_path("../lib", __FILE__)
1
+ lib = File.expand_path('lib', __dir__)
2
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
- require "mock_chargebee/version"
3
+ require 'mock_chargebee/version'
4
4
 
5
5
  Gem::Specification.new do |spec|
6
- spec.name = "mock_chargebee"
6
+ spec.name = 'mock_chargebee'
7
7
  spec.version = MockChargebee::VERSION
8
- spec.authors = ["Josh Cass"]
9
- spec.email = ["josh@bonus.ly"]
10
- spec.summary = "A Ruby mocking library for Chargebee"
11
- spec.description = "MockChargebee is a drop in mocking library for testing with Chargebee."
12
- spec.homepage = "https://github.com/bonusly/mock_chargebee"
13
- spec.license = "MIT"
8
+ spec.authors = ['Josh Cass']
9
+ spec.email = ['josh@bonus.ly']
10
+ spec.summary = 'A Ruby mocking library for Chargebee'
11
+ spec.description = 'MockChargebee is a drop in mocking library for testing with Chargebee.'
12
+ spec.homepage = 'https://gitlab.com/bonusly/public/mock_chargebee'
13
+ spec.license = 'MIT'
14
14
 
15
15
  spec.files = `git ls-files -z`.split("\x0")
16
16
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
17
17
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
18
- spec.require_paths = ["lib"]
18
+ spec.require_paths = ['lib']
19
19
 
20
- spec.required_ruby_version = ">= 2.7"
20
+ spec.required_ruby_version = '>= 2.7'
21
21
 
22
- spec.add_development_dependency "bundler", "~> 2.1"
23
- spec.add_development_dependency "rake", "~> 13.0"
24
- spec.add_development_dependency "rspec", "~> 3.10"
22
+ spec.add_development_dependency 'bundler', '>= 2.1'
23
+ spec.add_development_dependency 'rake', '>= 13.0'
24
+ spec.add_development_dependency 'rspec', '>= 3.10'
25
25
 
26
- spec.add_dependency "chargebee", "~> 2.8"
27
- spec.add_dependency "rack", "~> 2.2"
28
- spec.add_dependency "activesupport", "~> 5.0"
26
+ spec.add_dependency 'activesupport', '>= 5.0'
27
+ spec.add_dependency 'chargebee', '>= 2.8'
28
+ spec.add_dependency 'rack', '>= 2.2'
29
29
  end
metadata CHANGED
@@ -1,99 +1,99 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mock_chargebee
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josh Cass
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-02-17 00:00:00.000000000 Z
11
+ date: 2022-06-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '2.1'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '2.1'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '13.0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '13.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '3.10'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '3.10'
55
55
  - !ruby/object:Gem::Dependency
56
- name: chargebee
56
+ name: activesupport
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - "~>"
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
- version: '2.8'
61
+ version: '5.0'
62
62
  type: :runtime
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: '2.8'
68
+ version: '5.0'
69
69
  - !ruby/object:Gem::Dependency
70
- name: rack
70
+ name: chargebee
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - "~>"
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
- version: '2.2'
75
+ version: '2.8'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - "~>"
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
- version: '2.2'
82
+ version: '2.8'
83
83
  - !ruby/object:Gem::Dependency
84
- name: activesupport
84
+ name: rack
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - "~>"
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
- version: '5.0'
89
+ version: '2.2'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - "~>"
94
+ - - ">="
95
95
  - !ruby/object:Gem::Version
96
- version: '5.0'
96
+ version: '2.2'
97
97
  description: MockChargebee is a drop in mocking library for testing with Chargebee.
98
98
  email:
99
99
  - josh@bonus.ly
@@ -110,6 +110,8 @@ files:
110
110
  - lib/mock_chargebee/errors.rb
111
111
  - lib/mock_chargebee/fixtures/coupon.json
112
112
  - lib/mock_chargebee/fixtures/customer.json
113
+ - lib/mock_chargebee/fixtures/invoice_unbilled_charges_response.json
114
+ - lib/mock_chargebee/fixtures/payment_source.json
113
115
  - lib/mock_chargebee/fixtures/plan.json
114
116
  - lib/mock_chargebee/fixtures/portal_session.json
115
117
  - lib/mock_chargebee/fixtures/subscription.json
@@ -210,6 +212,7 @@ files:
210
212
  - lib/mock_chargebee/models/base.rb
211
213
  - lib/mock_chargebee/models/coupon.rb
212
214
  - lib/mock_chargebee/models/customer.rb
215
+ - lib/mock_chargebee/models/payment_source.rb
213
216
  - lib/mock_chargebee/models/plan.rb
214
217
  - lib/mock_chargebee/models/portal_session.rb
215
218
  - lib/mock_chargebee/models/subscription.rb
@@ -218,9 +221,11 @@ files:
218
221
  - lib/mock_chargebee/request_handlers/base.rb
219
222
  - lib/mock_chargebee/request_handlers/coupons.rb
220
223
  - lib/mock_chargebee/request_handlers/customers.rb
224
+ - lib/mock_chargebee/request_handlers/payment_sources.rb
221
225
  - lib/mock_chargebee/request_handlers/plans.rb
222
226
  - lib/mock_chargebee/request_handlers/portal_sessions.rb
223
227
  - lib/mock_chargebee/request_handlers/subscriptions.rb
228
+ - lib/mock_chargebee/request_handlers/unbilled_charges.rb
224
229
  - lib/mock_chargebee/services/apply_coupons.rb
225
230
  - lib/mock_chargebee/util.rb
226
231
  - lib/mock_chargebee/validations/base.rb
@@ -231,7 +236,7 @@ files:
231
236
  - lib/mock_chargebee/version.rb
232
237
  - lib/mock_chargebee/webhook.rb
233
238
  - mock_chargebee.gemspec
234
- homepage: https://github.com/bonusly/mock_chargebee
239
+ homepage: https://gitlab.com/bonusly/public/mock_chargebee
235
240
  licenses:
236
241
  - MIT
237
242
  metadata: {}
@@ -250,7 +255,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
250
255
  - !ruby/object:Gem::Version
251
256
  version: '0'
252
257
  requirements: []
253
- rubygems_version: 3.1.4
258
+ rubygems_version: 3.1.6
254
259
  signing_key:
255
260
  specification_version: 4
256
261
  summary: A Ruby mocking library for Chargebee