mock_chargebee 0.0.6 → 0.0.7

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: a36c40ee9e6e0d9598ff713875529e000c4f58d644a70985a71225511c579f36
4
- data.tar.gz: 57a0fb4a5ab40dda5bb06553309a9c3f8b2affd4509456b10b2243f86ca54906
3
+ metadata.gz: f1dbb28d7c0aa183440b5d6ea1e2006192dfb74ce0a61e9e98a7c5b31871e64f
4
+ data.tar.gz: 8556fef396a9aea7a4a4b58c381dc9da62fddf0a238bad174733916a99f7bcc4
5
5
  SHA512:
6
- metadata.gz: 4c9e7b359bf61970ea86b9e5b9a64095c98613d1da794c3cd2703add5a1075fe24dc921c41186ea679898e91ef3c5393a7a7738e3f36f89cf9a34791abff6a22
7
- data.tar.gz: 812aebdb61d7db4eaf12938df3f51bfa42a6859a340aaac9fdb38df9beae08901745243571341dc504ae7127d425aed37c31e46a53a6831b39fd5a0b01d4a74a
6
+ metadata.gz: 0ab1262fdcf73d83647f07958ec03a676a5fc6890ac6e5d401f706a81fd62bc89bc81e67be869afa48ed9e4aa344d6592f018d916421c5694597f3a4e06bc827
7
+ data.tar.gz: 6b33a4a4e38f43cd4b6631073844d971c952dd19d6d0a71f5f3191d9b1d64e498485cc20a23bd308dc6c77e9e6f990f176d48bd9e9c58ff9097c0c13777f8a45
@@ -11,11 +11,16 @@ module MockChargebee
11
11
  Util.generate_id(self::RESOURCE_ID_PREFIX)
12
12
  end
13
13
 
14
+ def self.already_exists!(id)
15
+ raise ChargeBee::InvalidRequestError.new(400, message: "The value #{id} is already present.")
16
+ end
17
+
14
18
  def self.load_fixtures(*args)
15
19
  args.each do |arg|
16
20
  define_singleton_method("#{arg}_fixture") do
17
21
  instance_variable_get("@#{arg}_fixture") ||
18
- instance_variable_set("@#{arg}_fixture", JSON.parse(File.read("#{File.dirname(__FILE__)}/../fixtures/#{arg}.json")))
22
+ instance_variable_set("@#{arg}_fixture",
23
+ JSON.parse(File.read("#{File.dirname(__FILE__)}/../fixtures/#{arg}.json")))
19
24
  end
20
25
  end
21
26
  end
@@ -3,7 +3,7 @@
3
3
  module MockChargebee
4
4
  module Models
5
5
  class Customer < Base
6
- RESOURCE_ID_PREFIX = "cust"
6
+ RESOURCE_ID_PREFIX = 'cust'
7
7
 
8
8
  load_fixtures :customer
9
9
 
@@ -12,9 +12,11 @@ module MockChargebee
12
12
  end
13
13
 
14
14
  def self.create(params)
15
- params["id"] ||= unique_id
15
+ already_exists!(id) if already_exists?(params['id'])
16
+
17
+ params['id'] ||= unique_id
16
18
  customer = customer_fixture.merge(params)
17
- repositories.customers.store(customer["id"], customer)
19
+ repositories.customers.store(customer['id'], customer)
18
20
 
19
21
  customer
20
22
  end
@@ -22,10 +24,16 @@ module MockChargebee
22
24
  def self.update(id, params)
23
25
  customer = find(id)
24
26
  customer.merge!(params)
25
- repositories.customers.store(customer["id"], customer)
27
+ repositories.customers.store(customer['id'], customer)
26
28
 
27
29
  customer
28
30
  end
31
+
32
+ def self.already_exists?(id)
33
+ return false if id.nil?
34
+
35
+ repositories.customers[id].present?
36
+ end
29
37
  end
30
38
  end
31
39
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module MockChargebee
4
- VERSION = '0.0.6'
4
+ VERSION = '0.0.7'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mock_chargebee
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
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-05 00:00:00.000000000 Z
11
+ date: 2021-02-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler