mock_chargebee 0.0.8 → 1.0.0

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.
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