myfinance 0.7.0 → 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 +4 -4
- data/.rubocop.yml +3 -2
- data/CHANGELOG.md +15 -0
- data/Gemfile.lock +1 -1
- data/README.md +304 -1
- data/lib/myfinance.rb +12 -0
- data/lib/myfinance/client.rb +16 -0
- data/lib/myfinance/entities/bank_statement.rb +16 -0
- data/lib/myfinance/entities/credit_card.rb +19 -0
- data/lib/myfinance/entities/credit_card_collection.rb +11 -0
- data/lib/myfinance/entities/credit_card_transaction.rb +26 -0
- data/lib/myfinance/entities/credit_card_transaction_collection.rb +11 -0
- data/lib/myfinance/entities/financial_account.rb +1 -1
- data/lib/myfinance/entities/payable_account_collection.rb +14 -0
- data/lib/myfinance/entities/receivable_account_collection.rb +14 -0
- data/lib/myfinance/entities/reconcile_collection.rb +30 -0
- data/lib/myfinance/resources/bank_statement.rb +20 -0
- data/lib/myfinance/resources/category.rb +16 -0
- data/lib/myfinance/resources/classification_center.rb +1 -1
- data/lib/myfinance/resources/credit_card.rb +47 -0
- data/lib/myfinance/resources/credit_card_transaction.rb +47 -0
- data/lib/myfinance/resources/financial_account.rb +48 -7
- data/lib/myfinance/resources/financial_transaction.rb +13 -2
- data/lib/myfinance/resources/person.rb +1 -1
- data/lib/myfinance/resources/reconcile.rb +20 -0
- data/lib/myfinance/version.rb +1 -1
- data/spec/lib/myfinance/client_spec.rb +21 -0
- data/spec/lib/myfinance/entities/credit_card_collection_spec.rb +23 -0
- data/spec/lib/myfinance/entities/credit_card_spec.rb +7 -0
- data/spec/lib/myfinance/entities/credit_card_transaction_collection_spec.rb +21 -0
- data/spec/lib/myfinance/entities/credit_card_transaction_spec.rb +8 -0
- data/spec/lib/myfinance/entities/reconcile_collection_spec.rb +20 -0
- data/spec/lib/myfinance/resources/bank_statement_spec.rb +53 -0
- data/spec/lib/myfinance/resources/category_spec.rb +24 -3
- data/spec/lib/myfinance/resources/classification_center_spec.rb +12 -5
- data/spec/lib/myfinance/resources/credit_card_spec.rb +142 -0
- data/spec/lib/myfinance/resources/credit_card_transaction_spec.rb +162 -0
- data/spec/lib/myfinance/resources/financial_transaction_spec.rb +27 -2
- data/spec/lib/myfinance/resources/payable_account_spec.rb +131 -15
- data/spec/lib/myfinance/resources/person_spec.rb +16 -4
- data/spec/lib/myfinance/resources/receivable_account_spec.rb +132 -15
- data/spec/lib/myfinance/resources/reconcile_spec.rb +33 -0
- data/spec/support/bank_statements/extrato.ofx +207 -0
- metadata +35 -2
@@ -4,24 +4,49 @@ describe Myfinance::Resources::FinancialTransaction, vcr: true do
|
|
4
4
|
let(:da_id) { 14268 }
|
5
5
|
let(:ent_id) { 3798 }
|
6
6
|
let(:ft_id) { 1663920 }
|
7
|
+
let(:page) { 2 }
|
7
8
|
let(:financial_transactions) { client.financial_transactions }
|
8
9
|
let(:params) { { amount: 68.5, occurred_at: "2011-07-15", type: "Debit" } }
|
9
10
|
let(:request_error) { Myfinance::RequestError }
|
10
11
|
|
11
12
|
describe "#find_all" do
|
12
13
|
context "when successful" do
|
13
|
-
subject { client.financial_transactions.find_all(ent_id, da_id) }
|
14
14
|
before :each do
|
15
15
|
subject.build
|
16
16
|
end
|
17
17
|
|
18
|
+
subject { client.financial_transactions.find_all(ent_id, da_id, page) }
|
19
|
+
|
18
20
|
it "returns a 200 OK response code" do
|
19
21
|
expect(subject.response.code).to eq(200)
|
20
22
|
end
|
21
23
|
|
22
|
-
it "
|
24
|
+
it "returns URL with next page" do
|
25
|
+
url = subject.response.request.base_url
|
26
|
+
expect(url).to include("?page=#{page}")
|
27
|
+
end
|
28
|
+
|
29
|
+
it "returns collection of FinancialTransactions" do
|
23
30
|
expect(subject).to be_a(Myfinance::Entities::FinancialTransactionCollection)
|
24
31
|
end
|
32
|
+
|
33
|
+
context "without pagination" do
|
34
|
+
subject { client.financial_transactions.find_all(ent_id, da_id) }
|
35
|
+
|
36
|
+
it "returns a 200 OK response code" do
|
37
|
+
expect(subject.response.code).to eq(200)
|
38
|
+
end
|
39
|
+
|
40
|
+
it "returns collection of FinancialTransactions" do
|
41
|
+
expect(subject).to be_a(Myfinance::Entities::FinancialTransactionCollection)
|
42
|
+
end
|
43
|
+
|
44
|
+
it "does not return URL for next page" do
|
45
|
+
url = subject.response.request.base_url
|
46
|
+
expect(url).not_to include("?page=#{page}")
|
47
|
+
end
|
48
|
+
|
49
|
+
end
|
25
50
|
end
|
26
51
|
|
27
52
|
context "when supplying invalid IDs" do
|
@@ -2,6 +2,82 @@ require "spec_helper"
|
|
2
2
|
|
3
3
|
describe Myfinance::Resources::PayableAccount do
|
4
4
|
let(:entity_id) { 3798 }
|
5
|
+
let(:pa_id) { 1235663 }
|
6
|
+
let(:page) { 2 }
|
7
|
+
let(:url) { subject.response.request.base_url }
|
8
|
+
let(:request_error) { Myfinance::RequestError }
|
9
|
+
|
10
|
+
describe "#find_all", vcr: true do
|
11
|
+
before :each do
|
12
|
+
subject.build
|
13
|
+
end
|
14
|
+
context "with pagination" do
|
15
|
+
subject { client.payable_accounts.find_all(entity_id, page) }
|
16
|
+
|
17
|
+
it "returns 200 OK response code" do
|
18
|
+
expect(subject.response.code).to eq(200)
|
19
|
+
end
|
20
|
+
|
21
|
+
it "returns a PayableAccount collection" do
|
22
|
+
expect(subject).to be_a(Myfinance::Entities::PayableAccountCollection)
|
23
|
+
end
|
24
|
+
|
25
|
+
it "returns a paginated URL" do
|
26
|
+
expect(url).to include("?page=#{page}")
|
27
|
+
end
|
28
|
+
|
29
|
+
context "with invalid page" do
|
30
|
+
subject { client.payable_accounts.find_all(entity_id, 42424242) }
|
31
|
+
|
32
|
+
it "returns empty collection" do
|
33
|
+
expect(subject.collection).to be_empty
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
context "without pagination" do
|
39
|
+
subject { client.payable_accounts.find_all(entity_id) }
|
40
|
+
|
41
|
+
it "returns 200 OK response code" do
|
42
|
+
expect(subject.response.code).to eq(200)
|
43
|
+
end
|
44
|
+
|
45
|
+
it "returns a PayableAccount collection" do
|
46
|
+
expect(subject).to be_a(Myfinance::Entities::PayableAccountCollection)
|
47
|
+
end
|
48
|
+
|
49
|
+
it "returns a paginated URL" do
|
50
|
+
expect(url).not_to include("?page=#{page}")
|
51
|
+
end
|
52
|
+
|
53
|
+
context "with invalid entity id" do
|
54
|
+
it "raises 404 not found error" do
|
55
|
+
expect { client.payable_accounts.find_all(nil) }.to raise_error(request_error) do |e|
|
56
|
+
expect(e.code).to eq(404)
|
57
|
+
expect(e.message).to eq("Not Found")
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
describe "#find", vcr: true do
|
65
|
+
subject { client.payable_accounts.find(entity_id, pa_id) }
|
66
|
+
|
67
|
+
it "returns a PayableAccount" do
|
68
|
+
expect(subject).to be_a(Myfinance::Entities::PayableAccount)
|
69
|
+
end
|
70
|
+
|
71
|
+
context "with invalid ID" do
|
72
|
+
subject { client.payable_accounts.find(nil, nil) }
|
73
|
+
|
74
|
+
it "raises 404 not found error" do
|
75
|
+
expect { subject }.to raise_error(request_error) do |e|
|
76
|
+
expect(e.code).to eq(404)
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
5
81
|
|
6
82
|
describe "#create", vcr: true do
|
7
83
|
let(:params) { { due_date: '2015-08-15', amount: 150.99 } }
|
@@ -61,26 +137,28 @@ describe Myfinance::Resources::PayableAccount do
|
|
61
137
|
context "when any data is invalid" do
|
62
138
|
let(:params) { { due_date: '', amount: 150.99 } }
|
63
139
|
|
64
|
-
it "raises
|
65
|
-
expect { subject }.to raise_error(
|
140
|
+
it "raises request_error" do
|
141
|
+
expect { subject }.to raise_error(request_error)
|
66
142
|
end
|
67
143
|
|
68
144
|
it "adds information on request error object" do
|
69
|
-
|
70
|
-
expect
|
145
|
+
body = { "competency_month" => ["não pode ser vazio"], "due_date" => ["não é uma data válida"] }
|
146
|
+
expect(request_error).to receive(:new).with(code: 422, message: "", body: body).and_call_original
|
147
|
+
expect { subject }.to raise_error(request_error)
|
71
148
|
end
|
72
149
|
end
|
73
150
|
|
74
151
|
context "when entity does not exist" do
|
75
152
|
subject { client.payable_accounts.create(555, params) }
|
76
153
|
|
77
|
-
it "raises
|
78
|
-
expect { subject }.to raise_error(
|
154
|
+
it "raises request_error" do
|
155
|
+
expect { subject }.to raise_error(request_error)
|
79
156
|
end
|
80
157
|
|
81
158
|
it "adds information on request error object" do
|
82
|
-
|
83
|
-
expect
|
159
|
+
body = {"error" => "Você não tem permissão para acessar este recurso." }
|
160
|
+
expect(request_error).to receive(:new).with(code: 403, message: "Forbidden", body: body).and_call_original
|
161
|
+
expect { subject }.to raise_error(request_error)
|
84
162
|
end
|
85
163
|
end
|
86
164
|
end
|
@@ -106,7 +184,7 @@ describe Myfinance::Resources::PayableAccount do
|
|
106
184
|
let(:params) { { total_amount: nil, occurred_at: '2015-08-05', amount: 150.99 } }
|
107
185
|
|
108
186
|
it "raises request error" do
|
109
|
-
expect { subject }.to raise_error(
|
187
|
+
expect { subject }.to raise_error(request_error)
|
110
188
|
end
|
111
189
|
end
|
112
190
|
end
|
@@ -127,7 +205,7 @@ describe Myfinance::Resources::PayableAccount do
|
|
127
205
|
end
|
128
206
|
|
129
207
|
describe "#update", vcr: true do
|
130
|
-
subject { client.payable_accounts.update(
|
208
|
+
subject { client.payable_accounts.update(entity_id, 1235050, { amount: 100.00 }) }
|
131
209
|
|
132
210
|
context "when payable account exists" do
|
133
211
|
it "returns true" do
|
@@ -136,16 +214,16 @@ describe Myfinance::Resources::PayableAccount do
|
|
136
214
|
end
|
137
215
|
|
138
216
|
context "when payable account does not exist" do
|
139
|
-
subject { client.payable_accounts.update(
|
217
|
+
subject { client.payable_accounts.update(entity_id, 9999999, { amount: 100.00 }) }
|
140
218
|
|
141
219
|
it "raises request error" do
|
142
|
-
expect { subject }.to raise_error(
|
220
|
+
expect { subject }.to raise_error(request_error)
|
143
221
|
end
|
144
222
|
end
|
145
223
|
end
|
146
224
|
|
147
225
|
describe "#destroy", vcr: true do
|
148
|
-
subject { client.payable_accounts.destroy(
|
226
|
+
subject { client.payable_accounts.destroy(entity_id, 1215631) }
|
149
227
|
|
150
228
|
context "when payable account exists" do
|
151
229
|
it "returns true" do
|
@@ -154,10 +232,48 @@ describe Myfinance::Resources::PayableAccount do
|
|
154
232
|
end
|
155
233
|
|
156
234
|
context "when payable account does not exist" do
|
157
|
-
subject { client.payable_accounts.destroy(
|
235
|
+
subject { client.payable_accounts.destroy(entity_id, 1215631099) }
|
158
236
|
|
159
237
|
it "raises request error" do
|
160
|
-
expect { subject }.to raise_error(
|
238
|
+
expect { subject }.to raise_error(request_error)
|
239
|
+
end
|
240
|
+
end
|
241
|
+
end
|
242
|
+
|
243
|
+
describe "#destroy_recurrence", vcr: true do
|
244
|
+
let(:params) { { due_date: "2015-08-15", amount: 150.99, create_as_recurrent: "annual" } }
|
245
|
+
let(:new_pa) { client.payable_accounts.create(entity_id, params) }
|
246
|
+
|
247
|
+
before :each do
|
248
|
+
client.payable_accounts.destroy_recurrence(entity_id, new_pa.id)
|
249
|
+
end
|
250
|
+
|
251
|
+
it "does not find recurrent payable accounts" do
|
252
|
+
expect { client.payable_accounts.find(entity_id, new_pa.id) }.to raise_error(request_error) do |e|
|
253
|
+
expect(e.code).to eq(404)
|
254
|
+
expect(e.message).to eq("Not Found")
|
255
|
+
end
|
256
|
+
|
257
|
+
expect { client.payable_accounts.find(entity_id, new_pa.id + 1) }.to raise_error(request_error) do |e|
|
258
|
+
expect(e.code).to eq(404)
|
259
|
+
expect(e.message).to eq("Not Found")
|
260
|
+
end
|
261
|
+
end
|
262
|
+
end
|
263
|
+
|
264
|
+
describe "#destroy_many", vcr: true do
|
265
|
+
let(:params) { { due_date: "2015-08-15", amount: 150.99 } }
|
266
|
+
let(:new_pa) { client.payable_accounts.create(entity_id, params) }
|
267
|
+
let(:new_pa2) { client.payable_accounts.create(entity_id, params) }
|
268
|
+
|
269
|
+
before :each do
|
270
|
+
client.payable_accounts.destroy_many(entity_id, [new_pa.id, new_pa2.id])
|
271
|
+
end
|
272
|
+
|
273
|
+
it "does not find created PayableAccount" do
|
274
|
+
expect { client.payable_accounts.find(entity_id, new_pa.id) }.to raise_error(request_error) do |e|
|
275
|
+
expect(e.code).to eq(404)
|
276
|
+
expect(e.message).to eq("Not Found")
|
161
277
|
end
|
162
278
|
end
|
163
279
|
end
|
@@ -29,12 +29,24 @@ describe Myfinance::Resources::Person, vcr: true do
|
|
29
29
|
|
30
30
|
describe "#find_by" do
|
31
31
|
context "with success" do
|
32
|
-
|
33
|
-
|
32
|
+
it "find people by attributte name_equals" do
|
33
|
+
result = client.people.find_by(
|
34
|
+
{ name_equals: "Myfreecomm", person_type_in: "JuridicalPerson" }
|
35
|
+
)
|
36
|
+
expect(result).to be_a(Myfinance::Entities::PersonCollection)
|
37
|
+
expect(result.collection.first.name).to eq("Myfreecomm")
|
38
|
+
end
|
39
|
+
|
40
|
+
it "find people by attributte name_equals with special characters" do
|
41
|
+
result = client.people.find_by({ name_equals: "João das neves"})
|
42
|
+
expect(result).to be_a(Myfinance::Entities::PersonCollection)
|
43
|
+
expect(result.collection.first.name).to eq("João das neves")
|
34
44
|
end
|
35
45
|
|
36
|
-
it "find people by attributte" do
|
37
|
-
result = client.people.find_by(
|
46
|
+
it "find people by attributte federation_subscription_number_equals" do
|
47
|
+
result = client.people.find_by(
|
48
|
+
{ federation_subscription_number_equals: "42.308.611/0001-41" }
|
49
|
+
)
|
38
50
|
expect(result).to be_a(Myfinance::Entities::PersonCollection)
|
39
51
|
expect(result.collection.first.name).to eq("Myfreecomm")
|
40
52
|
end
|
@@ -2,6 +2,83 @@ require "spec_helper"
|
|
2
2
|
|
3
3
|
describe Myfinance::Resources::ReceivableAccount do
|
4
4
|
let(:entity_id) { 3798 }
|
5
|
+
let(:ra_id) { 1320786 }
|
6
|
+
let(:page) { 2 }
|
7
|
+
let(:url) { subject.response.request.base_url }
|
8
|
+
let(:request_error) { Myfinance::RequestError }
|
9
|
+
|
10
|
+
describe "#find_all", vcr: true do
|
11
|
+
before :each do
|
12
|
+
subject.build
|
13
|
+
end
|
14
|
+
|
15
|
+
context "with pagination" do
|
16
|
+
subject { client.receivable_accounts.find_all(entity_id, page) }
|
17
|
+
|
18
|
+
it "returns 200 OK response code" do
|
19
|
+
expect(subject.response.code).to eq(200)
|
20
|
+
end
|
21
|
+
|
22
|
+
it "returns a ReceivableAccount collection" do
|
23
|
+
expect(subject).to be_a(Myfinance::Entities::ReceivableAccountCollection)
|
24
|
+
end
|
25
|
+
|
26
|
+
it "returns a paginated URL" do
|
27
|
+
expect(url).to include("?page=#{page}")
|
28
|
+
end
|
29
|
+
|
30
|
+
context "with invalid page" do
|
31
|
+
subject { client.receivable_accounts.find_all(entity_id, 42424242) }
|
32
|
+
|
33
|
+
it "returns empty collection" do
|
34
|
+
expect(subject.collection).to be_empty
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
context "without pagination" do
|
40
|
+
subject { client.receivable_accounts.find_all(entity_id) }
|
41
|
+
|
42
|
+
it "returns 200 OK response code" do
|
43
|
+
expect(subject.response.code).to eq(200)
|
44
|
+
end
|
45
|
+
|
46
|
+
it "returns a ReceivableAccount collection" do
|
47
|
+
expect(subject).to be_a(Myfinance::Entities::ReceivableAccountCollection)
|
48
|
+
end
|
49
|
+
|
50
|
+
it "returns a paginated URL" do
|
51
|
+
expect(url).not_to include("?page=#{page}")
|
52
|
+
end
|
53
|
+
|
54
|
+
context "with invalid entity id" do
|
55
|
+
it "raises 404 not found error" do
|
56
|
+
expect { client.receivable_accounts.find_all(nil) }.to raise_error(request_error) do |e|
|
57
|
+
expect(e.code).to eq(404)
|
58
|
+
expect(e.message).to eq("Not Found")
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
describe "#find", vcr: true do
|
66
|
+
subject { client.receivable_accounts.find(entity_id, ra_id) }
|
67
|
+
|
68
|
+
it "returns a ReceivableAccount" do
|
69
|
+
expect(subject).to be_a(Myfinance::Entities::ReceivableAccount)
|
70
|
+
end
|
71
|
+
|
72
|
+
context "with invalid ID" do
|
73
|
+
subject { client.receivable_accounts.find(nil, nil) }
|
74
|
+
|
75
|
+
it "raises 404 not found error" do
|
76
|
+
expect { subject }.to raise_error(request_error) do |e|
|
77
|
+
expect(e.code).to eq(404)
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
5
82
|
|
6
83
|
describe "#create", vcr: true do
|
7
84
|
let(:params) { { due_date: '2015-08-15', amount: 150.99 } }
|
@@ -61,26 +138,28 @@ describe Myfinance::Resources::ReceivableAccount do
|
|
61
138
|
context "when any data is invalid" do
|
62
139
|
let(:params) { { due_date: '', amount: 150.99 } }
|
63
140
|
|
64
|
-
it "raises
|
65
|
-
expect { subject }.to raise_error(
|
141
|
+
it "raises request_error" do
|
142
|
+
expect { subject }.to raise_error(request_error)
|
66
143
|
end
|
67
144
|
|
68
145
|
it "adds information on request error object" do
|
69
|
-
|
70
|
-
expect
|
146
|
+
body = { "competency_month" => ["não pode ser vazio"], "due_date" => ["não é uma data válida"] }
|
147
|
+
expect(request_error).to receive(:new).with(code: 422, message: "", body: body).and_call_original
|
148
|
+
expect { subject }.to raise_error(request_error)
|
71
149
|
end
|
72
150
|
end
|
73
151
|
|
74
152
|
context "when entity does not exist" do
|
75
153
|
subject { client.receivable_accounts.create(555, params) }
|
76
154
|
|
77
|
-
it "raises
|
78
|
-
expect { subject }.to raise_error(
|
155
|
+
it "raises request_error" do
|
156
|
+
expect { subject }.to raise_error(request_error)
|
79
157
|
end
|
80
158
|
|
81
159
|
it "adds information on request error object" do
|
82
|
-
|
83
|
-
expect
|
160
|
+
body = { "error" => "Você não tem permissão para acessar este recurso." }
|
161
|
+
expect(request_error).to receive(:new).with(code: 403, message: "Forbidden", body: body).and_call_original
|
162
|
+
expect { subject }.to raise_error(request_error)
|
84
163
|
end
|
85
164
|
end
|
86
165
|
end
|
@@ -106,7 +185,7 @@ describe Myfinance::Resources::ReceivableAccount do
|
|
106
185
|
let(:params) { { total_amount: nil, occurred_at: '2015-08-05', amount: 150.99 } }
|
107
186
|
|
108
187
|
it "raises request error" do
|
109
|
-
expect { subject }.to raise_error(
|
188
|
+
expect { subject }.to raise_error(request_error)
|
110
189
|
end
|
111
190
|
end
|
112
191
|
end
|
@@ -127,7 +206,7 @@ describe Myfinance::Resources::ReceivableAccount do
|
|
127
206
|
end
|
128
207
|
|
129
208
|
describe "#update", vcr: true do
|
130
|
-
subject { client.receivable_accounts.update(
|
209
|
+
subject { client.receivable_accounts.update(entity_id, 1235051, amount: 100.00) }
|
131
210
|
|
132
211
|
context "when payable account exists" do
|
133
212
|
it "returns true" do
|
@@ -136,16 +215,16 @@ describe Myfinance::Resources::ReceivableAccount do
|
|
136
215
|
end
|
137
216
|
|
138
217
|
context "when payable account does not exist" do
|
139
|
-
subject { client.receivable_accounts.update(
|
218
|
+
subject { client.receivable_accounts.update(entity_id, 9999999, amount: 100.00) }
|
140
219
|
|
141
220
|
it "raises request error" do
|
142
|
-
expect { subject }.to raise_error(
|
221
|
+
expect { subject }.to raise_error(request_error)
|
143
222
|
end
|
144
223
|
end
|
145
224
|
end
|
146
225
|
|
147
226
|
describe "#destroy", vcr: true do
|
148
|
-
subject { client.receivable_accounts.destroy(
|
227
|
+
subject { client.receivable_accounts.destroy(entity_id, 1215634) }
|
149
228
|
|
150
229
|
context "when receivable account exists" do
|
151
230
|
it "returns true" do
|
@@ -154,10 +233,48 @@ describe Myfinance::Resources::ReceivableAccount do
|
|
154
233
|
end
|
155
234
|
|
156
235
|
context "when receivable account does not exist" do
|
157
|
-
subject { client.receivable_accounts.destroy(
|
236
|
+
subject { client.receivable_accounts.destroy(entity_id, 1215631099) }
|
158
237
|
|
159
238
|
it "raises request error" do
|
160
|
-
expect { subject }.to raise_error(
|
239
|
+
expect { subject }.to raise_error(request_error)
|
240
|
+
end
|
241
|
+
end
|
242
|
+
end
|
243
|
+
|
244
|
+
describe "#destroy_recurrence", vcr: true do
|
245
|
+
let(:params) { { due_date: "2015-08-15", amount: 150.99, create_as_recurrent: "annual" } }
|
246
|
+
let(:new_ra) { client.receivable_accounts.create(entity_id, params) }
|
247
|
+
|
248
|
+
before :each do
|
249
|
+
client.receivable_accounts.destroy_recurrence(entity_id, new_ra.id)
|
250
|
+
end
|
251
|
+
|
252
|
+
it "does not find recurrent receivable accounts" do
|
253
|
+
expect { client.receivable_accounts.find(entity_id, new_ra.id) }.to raise_error(request_error) do |e|
|
254
|
+
expect(e.code).to eq(404)
|
255
|
+
expect(e.message).to eq("Not Found")
|
256
|
+
end
|
257
|
+
|
258
|
+
expect { client.receivable_accounts.find(entity_id, new_ra.id + 1) }.to raise_error(request_error) do |e|
|
259
|
+
expect(e.code).to eq(404)
|
260
|
+
expect(e.message).to eq("Not Found")
|
261
|
+
end
|
262
|
+
end
|
263
|
+
end
|
264
|
+
|
265
|
+
describe "#destroy_many", vcr: true do
|
266
|
+
let(:params) { { due_date: "2015-08-15", amount: 150.99 } }
|
267
|
+
let(:new_ra) { client.receivable_accounts.create(entity_id, params) }
|
268
|
+
let(:new_ra2) { client.receivable_accounts.create(entity_id, params) }
|
269
|
+
|
270
|
+
before :each do
|
271
|
+
client.receivable_accounts.destroy_many(entity_id, [new_ra.id, new_ra2.id])
|
272
|
+
end
|
273
|
+
|
274
|
+
it "does not find created ReceivableAccount" do
|
275
|
+
expect { client.receivable_accounts.find(entity_id, new_ra.id) }.to raise_error(request_error) do |e|
|
276
|
+
expect(e.code).to eq(404)
|
277
|
+
expect(e.message).to eq("Not Found")
|
161
278
|
end
|
162
279
|
end
|
163
280
|
end
|