invoiced 1.3.0 → 2.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: 96fee7c8ec29ed8496d56e2ad01040962c4e793e03d8746cd1bb33dc9d455310
4
- data.tar.gz: 24c4ac4cf3671312b13da58e7ffb0798041ff50572d06e49ccbab047f2fe7130
3
+ metadata.gz: ae182e66a354b88c600800a9f0ef40ff695c44671c8b3bf2bd24100c61be2cdf
4
+ data.tar.gz: 3e0897128ea15e9086098560b4beac41e61a97e44a8ec8db542be023e7486e75
5
5
  SHA512:
6
- metadata.gz: f8a1fbde18532af461b0051de5a9a35beeefa4e6b9826cbbc65d8ce4ac73b91ce6d40d81c7b3d3fd6d68a989c74441cd0ee45d9cd1f8d9f1c7e50095a4666cd1
7
- data.tar.gz: 79c75b2a9c9654ecf61a520aaa1e1bc3c2802d189b540238dd4556108c00255e0d88155f2d96200c11a8ddb870b4ee16be2e8fb0cd1b34e6e80597b7661b357d
6
+ metadata.gz: 4039ccc2d285ddfcdd0c0aa97aae3c02330fdfdbcfddd1e4c559d0f08b101ec698f396baba1f33a075ac11e805318bad24dac55cbabaafd675e7654e33549424
7
+ data.tar.gz: e2d7415d9b996f6ef9b1a63e80f4b14ebbdf411a1fccff21f07803a53048f4922d3eb015162b7f606b7d7a37e471ad8ef40943a4628e7d8c459b819d65c1ec07
@@ -22,10 +22,10 @@ require 'invoiced/payment_source_object'
22
22
  require 'invoiced/attachment'
23
23
  require 'invoiced/bank_account'
24
24
  require 'invoiced/card'
25
- require 'invoiced/item'
26
25
  require 'invoiced/charge'
27
26
  require 'invoiced/contact'
28
27
  require 'invoiced/coupon'
28
+ require 'invoiced/credit_balance_adjustment'
29
29
  require 'invoiced/credit_note'
30
30
  require 'invoiced/customer'
31
31
  require 'invoiced/email'
@@ -33,6 +33,7 @@ require 'invoiced/estimate'
33
33
  require 'invoiced/event'
34
34
  require 'invoiced/file'
35
35
  require 'invoiced/invoice'
36
+ require 'invoiced/item'
36
37
  require 'invoiced/letter'
37
38
  require 'invoiced/line_item'
38
39
  require 'invoiced/note'
@@ -45,7 +46,6 @@ require 'invoiced/subscription'
45
46
  require 'invoiced/task'
46
47
  require 'invoiced/tax_rate'
47
48
  require 'invoiced/text_message'
48
- require 'invoiced/transaction'
49
49
 
50
50
  module Invoiced
51
51
  class Client
@@ -56,7 +56,7 @@ module Invoiced
56
56
  ReadTimeout = 80
57
57
 
58
58
  attr_reader :api_key, :api_url, :sandbox, :sso_key
59
- attr_reader :Item, :Charge, :Coupon, :CreditNote, :Customer, :Estimate, :Event, :File, :Invoice, :Note, :Payment, :Plan, :Refund, :Subscription, :Task, :TaxRate, :Transaction
59
+ attr_reader :Item, :Charge, :Coupon, :CreditBalanceAdjustment, :CreditNote, :Customer, :Estimate, :Event, :File, :Invoice, :Note, :Payment, :Plan, :Refund, :Subscription, :Task, :TaxRate
60
60
 
61
61
  def initialize(api_key, sandbox=false, sso_key=false)
62
62
  @api_key = api_key
@@ -68,6 +68,7 @@ module Invoiced
68
68
  @Item = Invoiced::Item.new(self)
69
69
  @Charge = Invoiced::Charge.new(self)
70
70
  @Coupon = Invoiced::Coupon.new(self)
71
+ @CreditBalanceAdjustment = Invoiced::CreditBalanceAdjustment.new(self)
71
72
  @CreditNote = Invoiced::CreditNote.new(self)
72
73
  @Customer = Invoiced::Customer.new(self)
73
74
  @Estimate = Invoiced::Estimate.new(self)
@@ -81,7 +82,6 @@ module Invoiced
81
82
  @Subscription = Invoiced::Subscription.new(self)
82
83
  @Task = Invoiced::Task.new(self)
83
84
  @TaxRate = Invoiced::TaxRate.new(self)
84
- @Transaction = Invoiced::Transaction.new(self)
85
85
  end
86
86
 
87
87
  def request(method, endpoint, params={}, opts={})
@@ -0,0 +1,10 @@
1
+ module Invoiced
2
+ class CreditBalanceAdjustment < Object
3
+ include Invoiced::Operations::List
4
+ include Invoiced::Operations::Create
5
+ include Invoiced::Operations::Update
6
+ include Invoiced::Operations::Delete
7
+
8
+ OBJECT_NAME = 'credit_balance_adjustment'
9
+ end
10
+ end
@@ -1,3 +1,3 @@
1
1
  module Invoiced
2
- VERSION = '1.3.0'
2
+ VERSION = '2.0.0'
3
3
  end
@@ -0,0 +1,90 @@
1
+ require File.expand_path('../../test_helper', __FILE__)
2
+
3
+ module Invoiced
4
+ class CreditBalanceAdjustmentTest < Test::Unit::TestCase
5
+ should "return the api endpoint" do
6
+ creditBalanceAdjustment = CreditBalanceAdjustment.new(@client, "test")
7
+ assert_equal('/credit_balance_adjustment/test', creditBalanceAdjustment.endpoint())
8
+ end
9
+
10
+ should "create a credit balance adjustments" do
11
+ mockResponse = mock('RestClient::Response')
12
+ mockResponse.stubs(:code).returns(201)
13
+ mockResponse.stubs(:body).returns('{"id":"test","amount":800}')
14
+ mockResponse.stubs(:headers).returns({})
15
+
16
+ RestClient::Request.any_instance.expects(:execute).returns(mockResponse)
17
+
18
+ creditBalanceAdjustment = @client.CreditBalanceAdjustment.create({:amount => 800})
19
+
20
+ assert_instance_of(Invoiced::CreditBalanceAdjustment, creditBalanceAdjustment)
21
+ assert_equal("test", creditBalanceAdjustment.id)
22
+ assert_equal(800, creditBalanceAdjustment.amount)
23
+ end
24
+
25
+ should "retrieve a credit balance adjustments" do
26
+ mockResponse = mock('RestClient::Response')
27
+ mockResponse.stubs(:code).returns(200)
28
+ mockResponse.stubs(:body).returns('{"id":"test","amount":800}')
29
+ mockResponse.stubs(:headers).returns({})
30
+
31
+ RestClient::Request.any_instance.expects(:execute).returns(mockResponse)
32
+
33
+ creditBalanceAdjustment = @client.CreditBalanceAdjustment.retrieve("test")
34
+
35
+ assert_instance_of(Invoiced::CreditBalanceAdjustment, creditBalanceAdjustment)
36
+ assert_equal("test", creditBalanceAdjustment.id)
37
+ assert_equal(800, creditBalanceAdjustment.amount)
38
+ end
39
+
40
+ should "not update a credit balance adjustments when no params" do
41
+ creditBalanceAdjustment = CreditBalanceAdjustment.new(@client, "test")
42
+ assert_false(creditBalanceAdjustment.save)
43
+ end
44
+
45
+ should "update a credit balance adjustments" do
46
+ mockResponse = mock('RestClient::Response')
47
+ mockResponse.stubs(:code).returns(200)
48
+ mockResponse.stubs(:body).returns('{"id":"test","amount":800}')
49
+ mockResponse.stubs(:headers).returns({})
50
+
51
+ RestClient::Request.any_instance.expects(:execute).returns(mockResponse)
52
+
53
+ creditBalanceAdjustment = CreditBalanceAdjustment.new(@client, "test")
54
+ creditBalanceAdjustment.amount = 800
55
+ assert_true(creditBalanceAdjustment.save)
56
+
57
+ assert_equal(creditBalanceAdjustment.amount, 800)
58
+ end
59
+
60
+ should "list all credit balance adjustments" do
61
+ mockResponse = mock('RestClient::Response')
62
+ mockResponse.stubs(:code).returns(200)
63
+ mockResponse.stubs(:body).returns('[{"id":"test","amount":800}]')
64
+ mockResponse.stubs(:headers).returns(:x_total_count => 15, :link => '<https://api.invoiced.com/catalog_items?per_page=25&page=1>; rel="self", <https://api.invoiced.com/catalog_items?per_page=25&page=1>; rel="first", <https://api.invoiced.com/catalog_items?per_page=25&page=1>; rel="last"')
65
+
66
+ RestClient::Request.any_instance.expects(:execute).returns(mockResponse)
67
+
68
+ creditBalanceAdjustments, metadata = @client.CreditBalanceAdjustment.list
69
+
70
+ assert_instance_of(Array, creditBalanceAdjustments)
71
+ assert_equal(1, creditBalanceAdjustments.length)
72
+ assert_equal("test", creditBalanceAdjustments[0].id)
73
+
74
+ assert_instance_of(Invoiced::List, metadata)
75
+ assert_equal(15, metadata.total_count)
76
+ end
77
+
78
+ should "delete a credit balance adjustments" do
79
+ mockResponse = mock('RestClient::Response')
80
+ mockResponse.stubs(:code).returns(204)
81
+ mockResponse.stubs(:body).returns('')
82
+ mockResponse.stubs(:headers).returns({})
83
+
84
+ RestClient::Request.any_instance.expects(:execute).returns(mockResponse)
85
+
86
+ creditBalanceAdjustment = CreditBalanceAdjustment.new(@client, "test")
87
+ assert_true(creditBalanceAdjustment.delete)
88
+ end
89
+ end
90
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: invoiced
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jared King
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-12-08 00:00:00.000000000 Z
11
+ date: 2020-12-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client
@@ -58,6 +58,7 @@ files:
58
58
  - lib/invoiced/charge.rb
59
59
  - lib/invoiced/contact.rb
60
60
  - lib/invoiced/coupon.rb
61
+ - lib/invoiced/credit_balance_adjustment.rb
61
62
  - lib/invoiced/credit_note.rb
62
63
  - lib/invoiced/customer.rb
63
64
  - lib/invoiced/email.rb
@@ -91,12 +92,12 @@ files:
91
92
  - lib/invoiced/task.rb
92
93
  - lib/invoiced/tax_rate.rb
93
94
  - lib/invoiced/text_message.rb
94
- - lib/invoiced/transaction.rb
95
95
  - lib/invoiced/util.rb
96
96
  - lib/invoiced/version.rb
97
97
  - test/invoiced/charge_test.rb
98
98
  - test/invoiced/contact_test.rb
99
99
  - test/invoiced/coupon_test.rb
100
+ - test/invoiced/credit_balance_adjustment.rb
100
101
  - test/invoiced/credit_note_test.rb
101
102
  - test/invoiced/customer_test.rb
102
103
  - test/invoiced/error_test.rb
@@ -117,7 +118,6 @@ files:
117
118
  - test/invoiced/subscription_test.rb
118
119
  - test/invoiced/task_test.rb
119
120
  - test/invoiced/tax_rate_test.rb
120
- - test/invoiced/transaction_test.rb
121
121
  - test/invoiced/util_test.rb
122
122
  - test/test_helper.rb
123
123
  homepage: https://invoiced.com/docs/dev
@@ -147,6 +147,7 @@ test_files:
147
147
  - test/invoiced/charge_test.rb
148
148
  - test/invoiced/contact_test.rb
149
149
  - test/invoiced/coupon_test.rb
150
+ - test/invoiced/credit_balance_adjustment.rb
150
151
  - test/invoiced/credit_note_test.rb
151
152
  - test/invoiced/customer_test.rb
152
153
  - test/invoiced/error_test.rb
@@ -167,6 +168,5 @@ test_files:
167
168
  - test/invoiced/subscription_test.rb
168
169
  - test/invoiced/task_test.rb
169
170
  - test/invoiced/tax_rate_test.rb
170
- - test/invoiced/transaction_test.rb
171
171
  - test/invoiced/util_test.rb
172
172
  - test/test_helper.rb
@@ -1,30 +0,0 @@
1
- module Invoiced
2
- class Transaction < Object
3
- include Invoiced::Operations::List
4
- include Invoiced::Operations::Create
5
- include Invoiced::Operations::Update
6
- include Invoiced::Operations::Delete
7
-
8
- OBJECT_NAME = 'transaction'
9
-
10
- def send(params={}, opts={})
11
- response = @client.request(:post, "#{self.endpoint()}/emails", params, opts)
12
-
13
- # build email objects
14
- email = Email.new(@client)
15
- Util.build_objects(email, response[:body])
16
- end
17
-
18
- def refund(params={}, opts={})
19
- response = @client.request(:post, "#{self.endpoint()}/refunds", params, opts)
20
-
21
- Util.convert_to_object(self, response[:body])
22
- end
23
-
24
- def initiate_charge(params={}, opts={})
25
- response = @client.request(:post, "/charges", params, opts)
26
-
27
- Util.convert_to_object(self, response[:body])
28
- end
29
- end
30
- end
@@ -1,137 +0,0 @@
1
- require File.expand_path('../../test_helper', __FILE__)
2
-
3
- module Invoiced
4
- class TransactionTest < Test::Unit::TestCase
5
- should "return the api endpoint" do
6
- transaction = Transaction.new(@client, 123)
7
- assert_equal('/transactions/123', transaction.endpoint())
8
- end
9
-
10
- should "create a transaction" do
11
- mockResponse = mock('RestClient::Response')
12
- mockResponse.stubs(:code).returns(201)
13
- mockResponse.stubs(:body).returns('{"id":123,"amount":100}')
14
- mockResponse.stubs(:headers).returns({})
15
-
16
- RestClient::Request.any_instance.expects(:execute).returns(mockResponse)
17
-
18
- transaction = @client.Transaction.create({:amount => 800})
19
-
20
- assert_instance_of(Invoiced::Transaction, transaction)
21
- assert_equal(123, transaction.id)
22
- assert_equal(100, transaction.amount)
23
- end
24
-
25
- should "retrieve a transaction" do
26
- mockResponse = mock('RestClient::Response')
27
- mockResponse.stubs(:code).returns(200)
28
- mockResponse.stubs(:body).returns('{"id":123,"amount":100}')
29
- mockResponse.stubs(:headers).returns({})
30
-
31
- RestClient::Request.any_instance.expects(:execute).returns(mockResponse)
32
-
33
- transaction = @client.Transaction.retrieve(123)
34
-
35
- assert_instance_of(Invoiced::Transaction, transaction)
36
- assert_equal(123, transaction.id)
37
- assert_equal(100, transaction.amount)
38
- end
39
-
40
- should "not update a transaction when no params" do
41
- transaction = Transaction.new(@client, 123)
42
- assert_false(transaction.save)
43
- end
44
-
45
- should "update a transaction" do
46
- mockResponse = mock('RestClient::Response')
47
- mockResponse.stubs(:code).returns(200)
48
- mockResponse.stubs(:body).returns('{"id":123,"sent":true}')
49
- mockResponse.stubs(:headers).returns({})
50
-
51
- RestClient::Request.any_instance.expects(:execute).returns(mockResponse)
52
-
53
- transaction = Transaction.new(@client, 123)
54
- transaction.sent = true
55
- assert_true(transaction.save)
56
-
57
- assert_true(transaction.sent)
58
- end
59
-
60
- should "list all transactions" do
61
- mockResponse = mock('RestClient::Response')
62
- mockResponse.stubs(:code).returns(200)
63
- mockResponse.stubs(:body).returns('[{"id":123,"amount":100}]')
64
- mockResponse.stubs(:headers).returns(:x_total_count => 15, :link => '<https://api.invoiced.com/transactions?per_page=25&page=1>; rel="self", <https://api.invoiced.com/transactions?per_page=25&page=1>; rel="first", <https://api.invoiced.com/transactions?per_page=25&page=1>; rel="last"')
65
-
66
- RestClient::Request.any_instance.expects(:execute).returns(mockResponse)
67
-
68
- transactions, metadata = @client.Transaction.list
69
-
70
- assert_instance_of(Array, transactions)
71
- assert_equal(1, transactions.length)
72
- assert_equal(123, transactions[0].id)
73
-
74
- assert_instance_of(Invoiced::List, metadata)
75
- assert_equal(15, metadata.total_count)
76
- end
77
-
78
- should "delete a transaction" do
79
- mockResponse = mock('RestClient::Response')
80
- mockResponse.stubs(:code).returns(204)
81
- mockResponse.stubs(:body).returns('')
82
- mockResponse.stubs(:headers).returns({})
83
-
84
- RestClient::Request.any_instance.expects(:execute).returns(mockResponse)
85
-
86
- transaction = Transaction.new(@client, 123)
87
- assert_true(transaction.delete)
88
- end
89
-
90
- should "send a payment receipt" do
91
- mockResponse = mock('RestClient::Response')
92
- mockResponse.stubs(:code).returns(201)
93
- mockResponse.stubs(:body).returns('[{"id":4567,"email":"test@example.com"}]')
94
- mockResponse.stubs(:headers).returns({})
95
-
96
- RestClient::Request.any_instance.expects(:execute).returns(mockResponse)
97
-
98
- transaction = Transaction.new(@client, 1234)
99
- emails = transaction.send
100
-
101
- assert_instance_of(Array, emails)
102
- assert_equal(1, emails.length)
103
- assert_instance_of(Invoiced::Email, emails[0])
104
- assert_equal(4567, emails[0].id)
105
- end
106
-
107
- should "refund a transaction" do
108
- mockResponse = mock('RestClient::Response')
109
- mockResponse.stubs(:code).returns(201)
110
- mockResponse.stubs(:body).returns('{"id":456}')
111
- mockResponse.stubs(:headers).returns({})
112
-
113
- RestClient::Request.any_instance.expects(:execute).returns(mockResponse)
114
-
115
- transaction = Transaction.new(@client, 1234)
116
- refund = transaction.refund({:amount => 800})
117
-
118
- assert_instance_of(Invoiced::Transaction, refund)
119
- assert_equal(456, refund.id)
120
- end
121
-
122
- should "initiate a charge" do
123
- mockResponse = mock('RestClient::Response')
124
- mockResponse.stubs(:code).returns(201)
125
- mockResponse.stubs(:body).returns('{"id":"a1b2c3","amount":100,"object":"charge"}')
126
- mockResponse.stubs(:headers).returns({})
127
-
128
- RestClient::Request.any_instance.expects(:execute).returns(mockResponse)
129
-
130
- transaction = Transaction.new(@client, 1234)
131
- charge = transaction.initiate_charge(:amount => 100, :payment_source_type => "card")
132
-
133
- assert_instance_of(Invoiced::Transaction, charge)
134
- assert_equal(charge.id, "a1b2c3")
135
- end
136
- end
137
- end