finapps 2.0.29 → 2.0.30

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
  SHA1:
3
- metadata.gz: d7b254a9f5d353901ca7168c5b33bac298cfba8d
4
- data.tar.gz: 7d407dfd9cac1724c8d4a59ca64f8914d102f917
3
+ metadata.gz: e61830b719532ffe68a3133e861514c0080918ff
4
+ data.tar.gz: 81d526e72235f792beca947b2647e702cf3d3e92
5
5
  SHA512:
6
- metadata.gz: ffa123d1bc9fc0824457806e22b2e527529985280ba630600650aee72ae73ee8ae10dcae634495163454263c1085fcdb6bae24644cf3623938f8f179b27cdb0c
7
- data.tar.gz: 4bccff3c5dc44f52020a2c75de01e7cc692db0c7a1207ef1c02b37ca5b20f67abfdeba5bd261283b805d3fa7188fd0cc043fdaacc5a68b98c26cb6ba50fb28f5
6
+ metadata.gz: 468d231c40ff6a9f766b2537d104b04483ae7ccbd199871cbb5f844136f01c2b13a26265aa53f8a5652b8c983febe25030f921a88fccd5b461a4a46b4a634b48
7
+ data.tar.gz: 2c26b47ada9b8cec80d034e67717ba28ed19a86c9cc6f536a74eaf5bdfc9a3aac3606b2f663b75b7b2bc82763077dc143d4f124e909e3d490d16a06d29a0d1f3
@@ -36,6 +36,14 @@ module FinApps
36
36
  @orders ||= FinApps::REST::Orders.new self
37
37
  end
38
38
 
39
+ def order_reports
40
+ @order_reports ||= FinApps::REST::OrderReports.new self
41
+ end
42
+
43
+ def order_statuses
44
+ @order_statuses ||= FinApps::REST::OrderStatuses.new self
45
+ end
46
+
39
47
  def institutions
40
48
  @institutions ||= FinApps::REST::Institutions.new self
41
49
  end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+ module FinApps
3
+ module REST
4
+ class OrderStatuses < FinApps::REST::Resources # :nodoc:
5
+ using ObjectExtensions
6
+ using StringExtensions
7
+
8
+ def show(id)
9
+ raise MissingArgumentsError.new 'Missing argument: id.' if id.blank?
10
+
11
+ path = "orders/#{ERB::Util.url_encode(id)}/status"
12
+ super nil, path
13
+ end
14
+ end
15
+ end
16
+ end
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module FinApps
3
- VERSION = '2.0.29'
3
+ VERSION = '2.0.30'
4
4
  end
data/lib/finapps.rb CHANGED
@@ -34,6 +34,7 @@ require 'finapps/rest/user_institutions_statuses'
34
34
  require 'finapps/rest/user_institutions'
35
35
  require 'finapps/rest/user_institutions_forms'
36
36
  require 'finapps/rest/order_reports'
37
+ require 'finapps/rest/order_statuses'
37
38
 
38
39
  require 'finapps/rest/configuration'
39
40
  require 'finapps/rest/credentials'
@@ -13,8 +13,8 @@ RSpec.describe FinApps::REST::Client do
13
13
  context 'an instance of Client' do
14
14
  subject { FinApps::REST::Client.new(:company_identifier, :company_token) }
15
15
 
16
- %i(users sessions orders order_tokens institutions institutions_forms user_institutions_statuses user_institutions
17
- user_institutions_forms).each do |method|
16
+ %i(users sessions orders order_tokens order_reports order_statuses institutions institutions_forms
17
+ user_institutions_statuses user_institutions user_institutions_forms).each do |method|
18
18
  it "responds to #{method}" do
19
19
  expect(subject).to respond_to(method)
20
20
  end
@@ -28,6 +28,14 @@ RSpec.describe FinApps::REST::Client do
28
28
  it { expect(subject.sessions).to be_an_instance_of(FinApps::REST::Sessions) }
29
29
  end
30
30
 
31
+ describe '#order_statuses' do
32
+ it { expect(subject.order_statuses).to be_an_instance_of(FinApps::REST::OrderStatuses) }
33
+ end
34
+
35
+ describe '#order_reports' do
36
+ it { expect(subject.order_reports).to be_an_instance_of(FinApps::REST::OrderReports) }
37
+ end
38
+
31
39
  describe '#order_tokens' do
32
40
  it { expect(subject.order_tokens).to be_an_instance_of(FinApps::REST::OrderTokens) }
33
41
  end
@@ -59,8 +67,8 @@ RSpec.describe FinApps::REST::Client do
59
67
  # [:users, :institutions, :user_institutions, :transactions, :categories,
60
68
  # :budget_models, :budget_calculation, :budgets, :cashflows,
61
69
  # :alert, :alert_definition, :alert_preferences, :alert_settings, :rule_sets]
62
- %i(users sessions orders order_tokens institutions institutions_forms user_institutions_statuses user_institutions
63
- user_institutions_forms).each do |method|
70
+ %i(users sessions orders order_tokens order_reports order_statuses institutions institutions_forms
71
+ user_institutions_statuses user_institutions user_institutions_forms).each do |method|
64
72
  it "memoizes the result of #{method}" do
65
73
  first = subject.send(method)
66
74
  second = subject.send(method)
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+ RSpec.describe FinApps::REST::OrderStatuses do
3
+ let(:client) { FinApps::REST::Client.new(:company_identifier, :company_token) }
4
+ describe '#show' do
5
+ context 'when missing id' do
6
+ subject { FinApps::REST::OrderStatuses.new(client).show(nil) }
7
+ it { expect { subject }.to raise_error(FinApps::MissingArgumentsError) }
8
+ end
9
+
10
+ context 'when valid id is provided' do
11
+ subject { FinApps::REST::OrderStatuses.new(client).show(:valid_id) }
12
+
13
+ it { expect { subject }.not_to raise_error }
14
+ it('performs a get and returns the response') { expect(subject[0]).to respond_to(:status) }
15
+ it('returns no error messages') { expect(subject[1]).to be_empty }
16
+ end
17
+
18
+ context 'when invalid id is provided' do
19
+ subject { FinApps::REST::OrderStatuses.new(client).show(:invalid_id) }
20
+
21
+ it { expect { subject }.not_to raise_error }
22
+ it('results is nil') { expect(subject[0]).to be_nil }
23
+ it('error messages array is populated') { expect(subject[1].first.downcase).to eq('resource not found') }
24
+ end
25
+ end
26
+ end
@@ -17,6 +17,8 @@ class FakeApi < Sinatra::Base
17
17
  get('/v2/list/orders/:page/:requested/:sort/:asc') { json_response 200, 'orders.json' }
18
18
  get('/v2/orders/valid_id/report.:format') { json_response 200, 'order_report.json' }
19
19
  get('/v2/orders/invalid_id/report.:format') { json_response 404, 'resource_not_found.json' }
20
+ get('/v2/orders/valid_id/status') { json_response 200, 'order_status.json' }
21
+ get('/v2/orders/invalid_id/status') { json_response 404, 'resource_not_found.json' }
20
22
  put('/v2/orders/invalid_id') { json_response 404, 'resource_not_found.json' }
21
23
  put('/v2/orders/valid_id') do
22
24
  request.body.rewind
@@ -0,0 +1,3 @@
1
+ {
2
+ "status": 6
3
+ }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: finapps
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.29
4
+ version: 2.0.30
5
5
  platform: ruby
6
6
  authors:
7
7
  - Erich Quintero
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-09-28 00:00:00.000000000 Z
11
+ date: 2016-10-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -267,6 +267,7 @@ files:
267
267
  - lib/finapps/rest/institutions.rb
268
268
  - lib/finapps/rest/institutions_forms.rb
269
269
  - lib/finapps/rest/order_reports.rb
270
+ - lib/finapps/rest/order_statuses.rb
270
271
  - lib/finapps/rest/order_tokens.rb
271
272
  - lib/finapps/rest/orders.rb
272
273
  - lib/finapps/rest/resources.rb
@@ -292,6 +293,7 @@ files:
292
293
  - spec/rest/institutions_forms_spec.rb
293
294
  - spec/rest/institutions_spec.rb
294
295
  - spec/rest/order_reports_spec.rb
296
+ - spec/rest/order_statuses_spec.rb
295
297
  - spec/rest/order_tokens_spec.rb
296
298
  - spec/rest/orders_spec.rb
297
299
  - spec/rest/resources_spec.rb
@@ -312,6 +314,7 @@ files:
312
314
  - spec/support/fixtures/invalid_user_id.json
313
315
  - spec/support/fixtures/invalid_user_institution_id.json
314
316
  - spec/support/fixtures/order_report.json
317
+ - spec/support/fixtures/order_status.json
315
318
  - spec/support/fixtures/order_token.json
316
319
  - spec/support/fixtures/orders.json
317
320
  - spec/support/fixtures/relevance_ruleset_names.json
@@ -378,6 +381,7 @@ test_files:
378
381
  - spec/rest/user_institutions_spec.rb
379
382
  - spec/rest/client_spec.rb
380
383
  - spec/rest/orders_spec.rb
384
+ - spec/rest/order_statuses_spec.rb
381
385
  - spec/rest/configuration_spec.rb
382
386
  - spec/rest/resources_spec.rb
383
387
  - spec/rest/institutions_forms_spec.rb