invoiced 0.2.0 → 0.3.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/invoiced/customer.rb +16 -3
- data/lib/invoiced/invoice.rb +2 -2
- data/lib/invoiced/line_item.rb +8 -0
- data/lib/invoiced/object.rb +16 -2
- data/lib/invoiced/operations/create.rb +1 -1
- data/lib/invoiced/operations/delete.rb +1 -1
- data/lib/invoiced/operations/list.rb +1 -1
- data/lib/invoiced/operations/update.rb +1 -1
- data/lib/invoiced/transaction.rb +2 -2
- data/lib/invoiced/util.rb +3 -2
- data/lib/invoiced/version.rb +1 -1
- data/lib/invoiced.rb +1 -0
- data/test/invoiced/customer_test.rb +75 -1
- data/test/invoiced/invoice_test.rb +5 -0
- data/test/invoiced/line_item_test.rb +93 -0
- data/test/invoiced/object_test.rb +9 -0
- data/test/invoiced/{SubscriptionTest.rb → subscription_test.rb} +5 -0
- data/test/invoiced/transaction_test.rb +5 -0
- data/test/test_helper.rb +2 -2
- metadata +7 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f8645f3555b1e4518b8f2e37f00500d2346d4a05
|
4
|
+
data.tar.gz: 29e3b4c7d5928436be985d562d56d31896ec3e98
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ec193889670371a0eede342cd061ccb15be1a850aa82d7ce377eced3b5885addd86dba1566677c47927586c60547c21a6fc4407ba7f48da7c8372f70125243b4
|
7
|
+
data.tar.gz: 1e78637e8ff80a7663d8f40c5802808e6520691355b7258b2fbae6fbeb01814f992391a39d25ed7b96594291939d71c256f42f97cf9ae6367288caf97ad15f21
|
data/lib/invoiced/customer.rb
CHANGED
@@ -6,7 +6,7 @@ module Invoiced
|
|
6
6
|
include Invoiced::Operations::Delete
|
7
7
|
|
8
8
|
def send_statement(opts={})
|
9
|
-
response = @client.request(:post, "#{
|
9
|
+
response = @client.request(:post, "#{self.endpoint()}/emails", opts)
|
10
10
|
|
11
11
|
# build email objects
|
12
12
|
email = Email.new(@client)
|
@@ -14,13 +14,13 @@ module Invoiced
|
|
14
14
|
end
|
15
15
|
|
16
16
|
def balance
|
17
|
-
response = @client.request(:get, "#{
|
17
|
+
response = @client.request(:get, "#{self.endpoint()}/balance")
|
18
18
|
|
19
19
|
response[:body]
|
20
20
|
end
|
21
21
|
|
22
22
|
def subscriptions(opts={})
|
23
|
-
response = @client.request(:get, "#{
|
23
|
+
response = @client.request(:get, "#{self.endpoint()}/subscriptions", opts)
|
24
24
|
|
25
25
|
# build objects
|
26
26
|
subscription = Subscription.new(@client)
|
@@ -31,5 +31,18 @@ module Invoiced
|
|
31
31
|
|
32
32
|
return subscriptions, metadata
|
33
33
|
end
|
34
|
+
|
35
|
+
def line_items(opts={})
|
36
|
+
line = LineItem.new(@client)
|
37
|
+
line.set_endpoint_base(self.endpoint())
|
38
|
+
end
|
39
|
+
|
40
|
+
def invoice(opts={})
|
41
|
+
response = @client.request(:post, "#{self.endpoint()}/invoices", opts)
|
42
|
+
|
43
|
+
# build invoice object
|
44
|
+
invoice = Invoice.new(@client)
|
45
|
+
Util.convert_to_object(invoice, response[:body])
|
46
|
+
end
|
34
47
|
end
|
35
48
|
end
|
data/lib/invoiced/invoice.rb
CHANGED
@@ -6,7 +6,7 @@ module Invoiced
|
|
6
6
|
include Invoiced::Operations::Delete
|
7
7
|
|
8
8
|
def send(opts={})
|
9
|
-
response = @client.request(:post, "#{
|
9
|
+
response = @client.request(:post, "#{self.endpoint()}/emails", opts)
|
10
10
|
|
11
11
|
# build email objects
|
12
12
|
email = Email.new(@client)
|
@@ -14,7 +14,7 @@ module Invoiced
|
|
14
14
|
end
|
15
15
|
|
16
16
|
def pay
|
17
|
-
response = @client.request(:post, "#{
|
17
|
+
response = @client.request(:post, "#{self.endpoint()}/pay")
|
18
18
|
|
19
19
|
# update the local values with the response
|
20
20
|
refresh_from(response[:body].dup.merge({:id => self.id}))
|
data/lib/invoiced/object.rb
CHANGED
@@ -9,6 +9,7 @@ module Invoiced
|
|
9
9
|
def initialize(client, id=nil, values={})
|
10
10
|
@client = client
|
11
11
|
class_name = self.class.name.split('::').last
|
12
|
+
@endpoint_base = ''
|
12
13
|
@endpoint = '/' + class_name.underscore.pluralize.downcase
|
13
14
|
|
14
15
|
@id = id
|
@@ -21,14 +22,27 @@ module Invoiced
|
|
21
22
|
end
|
22
23
|
end
|
23
24
|
|
25
|
+
def set_endpoint_base(base)
|
26
|
+
@endpoint_base = base
|
27
|
+
self
|
28
|
+
end
|
29
|
+
|
30
|
+
def endpoint_base()
|
31
|
+
@endpoint_base
|
32
|
+
end
|
33
|
+
|
34
|
+
def endpoint()
|
35
|
+
@endpoint_base + @endpoint
|
36
|
+
end
|
37
|
+
|
24
38
|
def retrieve(id, opts={})
|
25
39
|
if !id
|
26
40
|
raise ArgumentError.new("Missing ID.")
|
27
41
|
end
|
28
42
|
|
29
|
-
response = @client.request(:get, "#{
|
43
|
+
response = @client.request(:get, "#{self.endpoint()}/#{id}", opts)
|
30
44
|
|
31
|
-
|
45
|
+
Util.convert_to_object(self, response[:body])
|
32
46
|
end
|
33
47
|
|
34
48
|
def load(opts={})
|
@@ -12,7 +12,7 @@ module Invoiced
|
|
12
12
|
|
13
13
|
# perform the update if there are any changes
|
14
14
|
if update.length > 0
|
15
|
-
response = @client.request(:patch,
|
15
|
+
response = @client.request(:patch, self.endpoint(), update)
|
16
16
|
|
17
17
|
# update the local values with the response
|
18
18
|
refresh_from(response[:body].dup.merge({:id => self.id}))
|
data/lib/invoiced/transaction.rb
CHANGED
@@ -6,7 +6,7 @@ module Invoiced
|
|
6
6
|
include Invoiced::Operations::Delete
|
7
7
|
|
8
8
|
def send(opts={})
|
9
|
-
response = @client.request(:post, "#{
|
9
|
+
response = @client.request(:post, "#{self.endpoint()}/emails", opts)
|
10
10
|
|
11
11
|
# build email objects
|
12
12
|
email = Email.new(@client)
|
@@ -14,7 +14,7 @@ module Invoiced
|
|
14
14
|
end
|
15
15
|
|
16
16
|
def refund(opts={})
|
17
|
-
response = @client.request(:post, "#{
|
17
|
+
response = @client.request(:post, "#{self.endpoint()}/refunds", opts)
|
18
18
|
|
19
19
|
Util.convert_to_object(self, response[:body])
|
20
20
|
end
|
data/lib/invoiced/util.rb
CHANGED
@@ -16,8 +16,9 @@ module Invoiced
|
|
16
16
|
}
|
17
17
|
end
|
18
18
|
|
19
|
-
def convert_to_object(_class,
|
20
|
-
_class.class.new(_class.client,
|
19
|
+
def convert_to_object(_class, values)
|
20
|
+
object = _class.class.new(_class.client, values[:id], values)
|
21
|
+
object.set_endpoint_base(_class.endpoint_base())
|
21
22
|
end
|
22
23
|
|
23
24
|
private
|
data/lib/invoiced/version.rb
CHANGED
data/lib/invoiced.rb
CHANGED
@@ -2,6 +2,11 @@ require File.expand_path('../../test_helper', __FILE__)
|
|
2
2
|
|
3
3
|
module Invoiced
|
4
4
|
class CustomerTest < Test::Unit::TestCase
|
5
|
+
should "return the api endpoint" do
|
6
|
+
customer = Customer.new(@client, 123)
|
7
|
+
assert_equal('/customers/123', customer.endpoint())
|
8
|
+
end
|
9
|
+
|
5
10
|
should "create a customer" do
|
6
11
|
mockResponse = mock('RestClient::Response')
|
7
12
|
mockResponse.stubs(:code).returns(201)
|
@@ -20,7 +25,7 @@ module Invoiced
|
|
20
25
|
should "retrieve a customer" do
|
21
26
|
mockResponse = mock('RestClient::Response')
|
22
27
|
mockResponse.stubs(:code).returns(200)
|
23
|
-
mockResponse.stubs(:body).returns('{"id":
|
28
|
+
mockResponse.stubs(:body).returns('{"id":123,"name":"Pied Piper"}')
|
24
29
|
mockResponse.stubs(:headers).returns({})
|
25
30
|
|
26
31
|
RestClient::Request.any_instance.expects(:execute).returns(mockResponse)
|
@@ -137,5 +142,74 @@ module Invoiced
|
|
137
142
|
assert_instance_of(Invoiced::List, metadata)
|
138
143
|
assert_equal(10, metadata.total_count)
|
139
144
|
end
|
145
|
+
|
146
|
+
should "create a pending line item" do
|
147
|
+
mockResponse = mock('RestClient::Response')
|
148
|
+
mockResponse.stubs(:code).returns(201)
|
149
|
+
mockResponse.stubs(:body).returns('{"id":123,"unit_cost":500}')
|
150
|
+
mockResponse.stubs(:headers).returns({})
|
151
|
+
|
152
|
+
RestClient::Request.any_instance.expects(:execute).returns(mockResponse)
|
153
|
+
|
154
|
+
customer = Customer.new(@client, 456)
|
155
|
+
line_item = customer.line_items.create({:unit_cost => 500})
|
156
|
+
|
157
|
+
assert_instance_of(Invoiced::LineItem, line_item)
|
158
|
+
assert_equal(123, line_item.id)
|
159
|
+
assert_equal(500, line_item.unit_cost)
|
160
|
+
assert_equal('/customers/456/line_items/123', line_item.endpoint())
|
161
|
+
end
|
162
|
+
|
163
|
+
should "list all of the customer's pending line item" do
|
164
|
+
mockResponse = mock('RestClient::Response')
|
165
|
+
mockResponse.stubs(:code).returns(200)
|
166
|
+
mockResponse.stubs(:body).returns('[{"id":123,"unit_cost":500}]')
|
167
|
+
mockResponse.stubs(:headers).returns(:x_total_count => 10, :link => '<https://api.invoiced.com/customers/123/line_items?per_page=25&page=1>; rel="self", <https://api.invoiced.com/customers/123/line_items?per_page=25&page=1>; rel="first", <https://api.invoiced.com/customers/123/line_items?per_page=25&page=1>; rel="last"')
|
168
|
+
|
169
|
+
RestClient::Request.any_instance.expects(:execute).returns(mockResponse)
|
170
|
+
|
171
|
+
customer = Customer.new(@client, 456)
|
172
|
+
line_items, metadata = customer.line_items.list
|
173
|
+
|
174
|
+
assert_instance_of(Array, line_items)
|
175
|
+
assert_equal(1, line_items.length)
|
176
|
+
assert_equal(123, line_items[0].id)
|
177
|
+
assert_equal('/customers/456/line_items/123', line_items[0].endpoint())
|
178
|
+
|
179
|
+
assert_instance_of(Invoiced::List, metadata)
|
180
|
+
assert_equal(10, metadata.total_count)
|
181
|
+
end
|
182
|
+
|
183
|
+
should "retrieve a pending line item" do
|
184
|
+
mockResponse = mock('RestClient::Response')
|
185
|
+
mockResponse.stubs(:code).returns(200)
|
186
|
+
mockResponse.stubs(:body).returns('{"id":123,"unit_cost":500}')
|
187
|
+
mockResponse.stubs(:headers).returns({})
|
188
|
+
|
189
|
+
RestClient::Request.any_instance.expects(:execute).returns(mockResponse)
|
190
|
+
|
191
|
+
customer = Customer.new(@client, 456)
|
192
|
+
line_item = customer.line_items.retrieve(123)
|
193
|
+
|
194
|
+
assert_instance_of(Invoiced::LineItem, line_item)
|
195
|
+
assert_equal(123, line_item.id)
|
196
|
+
assert_equal(500, line_item.unit_cost)
|
197
|
+
assert_equal('/customers/456/line_items/123', line_item.endpoint())
|
198
|
+
end
|
199
|
+
|
200
|
+
should "create an invoice" do
|
201
|
+
mockResponse = mock('RestClient::Response')
|
202
|
+
mockResponse.stubs(:code).returns(201)
|
203
|
+
mockResponse.stubs(:body).returns('{"id":4567,"total":100}')
|
204
|
+
mockResponse.stubs(:headers).returns({})
|
205
|
+
|
206
|
+
RestClient::Request.any_instance.expects(:execute).returns(mockResponse)
|
207
|
+
|
208
|
+
customer = Customer.new(@client, 123)
|
209
|
+
invoice = customer.invoice
|
210
|
+
|
211
|
+
assert_instance_of(Invoiced::Invoice, invoice)
|
212
|
+
assert_equal(4567, invoice.id)
|
213
|
+
end
|
140
214
|
end
|
141
215
|
end
|
@@ -2,6 +2,11 @@ require File.expand_path('../../test_helper', __FILE__)
|
|
2
2
|
|
3
3
|
module Invoiced
|
4
4
|
class InvoiceTest < Test::Unit::TestCase
|
5
|
+
should "return the api endpoint" do
|
6
|
+
invoice = Invoice.new(@client, 123)
|
7
|
+
assert_equal('/invoices/123', invoice.endpoint())
|
8
|
+
end
|
9
|
+
|
5
10
|
should "create an invoice" do
|
6
11
|
mockResponse = mock('RestClient::Response')
|
7
12
|
mockResponse.stubs(:code).returns(201)
|
@@ -0,0 +1,93 @@
|
|
1
|
+
require File.expand_path('../../test_helper', __FILE__)
|
2
|
+
|
3
|
+
module Invoiced
|
4
|
+
class LineItemTest < Test::Unit::TestCase
|
5
|
+
should "return the api endpoint" do
|
6
|
+
line = LineItem.new(@client, 123)
|
7
|
+
assert_equal('/line_items/123', line.endpoint())
|
8
|
+
end
|
9
|
+
|
10
|
+
should "create a line item" do
|
11
|
+
mockResponse = mock('RestClient::Response')
|
12
|
+
mockResponse.stubs(:code).returns(201)
|
13
|
+
mockResponse.stubs(:body).returns('{"id":123,"unit_cost":500}')
|
14
|
+
mockResponse.stubs(:headers).returns({})
|
15
|
+
|
16
|
+
RestClient::Request.any_instance.expects(:execute).returns(mockResponse)
|
17
|
+
|
18
|
+
line = LineItem.new(@client)
|
19
|
+
line_item = line.create({:unit_cost => 500})
|
20
|
+
|
21
|
+
assert_instance_of(Invoiced::LineItem, line_item)
|
22
|
+
assert_equal(123, line_item.id)
|
23
|
+
assert_equal(500, line_item.unit_cost)
|
24
|
+
end
|
25
|
+
|
26
|
+
should "retrieve a line item" do
|
27
|
+
mockResponse = mock('RestClient::Response')
|
28
|
+
mockResponse.stubs(:code).returns(200)
|
29
|
+
mockResponse.stubs(:body).returns('{"id":123,"unit_cost":500}')
|
30
|
+
mockResponse.stubs(:headers).returns({})
|
31
|
+
|
32
|
+
RestClient::Request.any_instance.expects(:execute).returns(mockResponse)
|
33
|
+
|
34
|
+
line = LineItem.new(@client)
|
35
|
+
line_item = line.retrieve(123)
|
36
|
+
|
37
|
+
assert_instance_of(Invoiced::LineItem, line_item)
|
38
|
+
assert_equal(123, line_item.id)
|
39
|
+
assert_equal(500, line_item.unit_cost)
|
40
|
+
end
|
41
|
+
|
42
|
+
should "not update a line item when no params" do
|
43
|
+
line_item = LineItem.new(@client, 123)
|
44
|
+
assert_false(line_item.save)
|
45
|
+
end
|
46
|
+
|
47
|
+
should "update a line item" do
|
48
|
+
mockResponse = mock('RestClient::Response')
|
49
|
+
mockResponse.stubs(:code).returns(200)
|
50
|
+
mockResponse.stubs(:body).returns('{"id":123,"unit_cost":400}')
|
51
|
+
mockResponse.stubs(:headers).returns({})
|
52
|
+
|
53
|
+
RestClient::Request.any_instance.expects(:execute).returns(mockResponse)
|
54
|
+
|
55
|
+
line_item = LineItem.new(@client, 123)
|
56
|
+
line_item.unit_cost = 400
|
57
|
+
assert_true(line_item.save)
|
58
|
+
|
59
|
+
assert_equal(400, line_item.unit_cost)
|
60
|
+
end
|
61
|
+
|
62
|
+
should "list all line items" do
|
63
|
+
mockResponse = mock('RestClient::Response')
|
64
|
+
mockResponse.stubs(:code).returns(200)
|
65
|
+
mockResponse.stubs(:body).returns('[{"id":123,"unit_cost":500}]')
|
66
|
+
mockResponse.stubs(:headers).returns(:x_total_count => 15, :link => '<https://api.invoiced.com/line_items?per_page=25&page=1>; rel="self", <https://api.invoiced.com/line_items?per_page=25&page=1>; rel="first", <https://api.invoiced.com/line_items?per_page=25&page=1>; rel="last"')
|
67
|
+
|
68
|
+
RestClient::Request.any_instance.expects(:execute).returns(mockResponse)
|
69
|
+
|
70
|
+
line_item = LineItem.new(@client)
|
71
|
+
line_items, metadata = line_item.list
|
72
|
+
|
73
|
+
assert_instance_of(Array, line_items)
|
74
|
+
assert_equal(1, line_items.length)
|
75
|
+
assert_equal(123, line_items[0].id)
|
76
|
+
|
77
|
+
assert_instance_of(Invoiced::List, metadata)
|
78
|
+
assert_equal(15, metadata.total_count)
|
79
|
+
end
|
80
|
+
|
81
|
+
should "delete a line item" do
|
82
|
+
mockResponse = mock('RestClient::Response')
|
83
|
+
mockResponse.stubs(:code).returns(204)
|
84
|
+
mockResponse.stubs(:body).returns('')
|
85
|
+
mockResponse.stubs(:headers).returns({})
|
86
|
+
|
87
|
+
RestClient::Request.any_instance.expects(:execute).returns(mockResponse)
|
88
|
+
|
89
|
+
line_item = LineItem.new(@client, 123)
|
90
|
+
assert_true(line_item.delete)
|
91
|
+
end
|
92
|
+
end
|
93
|
+
end
|
@@ -18,6 +18,15 @@ module Invoiced
|
|
18
18
|
end
|
19
19
|
end
|
20
20
|
|
21
|
+
should "return the api endpoint" do
|
22
|
+
object = Object.new(@client, 123)
|
23
|
+
assert_equal('/objects/123', object.endpoint())
|
24
|
+
|
25
|
+
object.set_endpoint_base('/blah')
|
26
|
+
assert_equal('/blah', object.endpoint_base())
|
27
|
+
assert_equal('/blah/objects/123', object.endpoint())
|
28
|
+
end
|
29
|
+
|
21
30
|
should "throw exception when retrieving with no id" do
|
22
31
|
assert_raise ArgumentError do
|
23
32
|
client = Client.new "test"
|
@@ -2,6 +2,11 @@ require File.expand_path('../../test_helper', __FILE__)
|
|
2
2
|
|
3
3
|
module Invoiced
|
4
4
|
class SubscriptionTest < Test::Unit::TestCase
|
5
|
+
should "return the api endpoint" do
|
6
|
+
subscription = Subscription.new(@client, 123)
|
7
|
+
assert_equal('/subscriptions/123', subscription.endpoint())
|
8
|
+
end
|
9
|
+
|
5
10
|
should "create a subscription" do
|
6
11
|
mockResponse = mock('RestClient::Response')
|
7
12
|
mockResponse.stubs(:code).returns(201)
|
@@ -2,6 +2,11 @@ require File.expand_path('../../test_helper', __FILE__)
|
|
2
2
|
|
3
3
|
module Invoiced
|
4
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
|
+
|
5
10
|
should "create a transaction" do
|
6
11
|
mockResponse = mock('RestClient::Response')
|
7
12
|
mockResponse.stubs(:code).returns(201)
|
data/test/test_helper.rb
CHANGED
@@ -2,10 +2,10 @@ require 'simplecov'
|
|
2
2
|
require 'simplecov-console'
|
3
3
|
require 'coveralls'
|
4
4
|
|
5
|
-
SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
|
5
|
+
SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter.new([
|
6
6
|
SimpleCov::Formatter::Console,
|
7
7
|
Coveralls::SimpleCov::Formatter
|
8
|
-
]
|
8
|
+
])
|
9
9
|
SimpleCov.start do
|
10
10
|
add_filter 'test/'
|
11
11
|
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: 0.2
|
4
|
+
version: 0.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jared King
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-03-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rest-client
|
@@ -130,6 +130,7 @@ files:
|
|
130
130
|
- lib/invoiced/error/error_base.rb
|
131
131
|
- lib/invoiced/error/invalid_request.rb
|
132
132
|
- lib/invoiced/invoice.rb
|
133
|
+
- lib/invoiced/line_item.rb
|
133
134
|
- lib/invoiced/list.rb
|
134
135
|
- lib/invoiced/object.rb
|
135
136
|
- lib/invoiced/operations/create.rb
|
@@ -140,12 +141,13 @@ files:
|
|
140
141
|
- lib/invoiced/transaction.rb
|
141
142
|
- lib/invoiced/util.rb
|
142
143
|
- lib/invoiced/version.rb
|
143
|
-
- test/invoiced/SubscriptionTest.rb
|
144
144
|
- test/invoiced/customer_test.rb
|
145
145
|
- test/invoiced/error_test.rb
|
146
146
|
- test/invoiced/invoice_test.rb
|
147
147
|
- test/invoiced/invoiced_test.rb
|
148
|
+
- test/invoiced/line_item_test.rb
|
148
149
|
- test/invoiced/object_test.rb
|
150
|
+
- test/invoiced/subscription_test.rb
|
149
151
|
- test/invoiced/transaction_test.rb
|
150
152
|
- test/invoiced/util_test.rb
|
151
153
|
- test/test_helper.rb
|
@@ -174,12 +176,13 @@ signing_key:
|
|
174
176
|
specification_version: 4
|
175
177
|
summary: Ruby client library for the Invoiced API
|
176
178
|
test_files:
|
177
|
-
- test/invoiced/SubscriptionTest.rb
|
178
179
|
- test/invoiced/customer_test.rb
|
179
180
|
- test/invoiced/error_test.rb
|
180
181
|
- test/invoiced/invoice_test.rb
|
181
182
|
- test/invoiced/invoiced_test.rb
|
183
|
+
- test/invoiced/line_item_test.rb
|
182
184
|
- test/invoiced/object_test.rb
|
185
|
+
- test/invoiced/subscription_test.rb
|
183
186
|
- test/invoiced/transaction_test.rb
|
184
187
|
- test/invoiced/util_test.rb
|
185
188
|
- test/test_helper.rb
|