finapps 2.3.2 → 2.3.3

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: 1a0a84b68f05e8ad0d5d21c0ccc3543265cee215
4
- data.tar.gz: e024e65fba9dcbec6e9b3527d8d010d27b69dbe3
3
+ metadata.gz: 9b3837e4ad6513b4ede27e48ff7b674fe7cbce17
4
+ data.tar.gz: b8f1e7f1cf52de4cf611507c330ae6365f474309
5
5
  SHA512:
6
- metadata.gz: '080546f143baf20e47038846ffda7873bf3a74b502c558f9b2f294867da628e7016607ecf70d4e396c80248b6977e47f8b6bf5af6709a93c54a4e7460a4efab3'
7
- data.tar.gz: f856e092fd9732f10e174d08519b2c99f1c06de4706183e95379f67b98c9980c6d212082ae4d69f2832c4c7a6c78a82d4e25fe2442e30fa917079efe15983694
6
+ metadata.gz: c1cece3db388c511a7ade9210a19a003263b810db2bdcf5699752d41c74e55a3cd25317efddc272f0a29a90b9b72833a422e34d1c9bbd4aeccf3876c735d36f3
7
+ data.tar.gz: bf7d8267bf6622511325fa9c39ccd8cd02018480357362abd2a8d79f05c399d3247efedf8b684e4ba122dc1a6fb1eea88fd5592334b0bc40983ebc83ed1f5e31
data/lib/finapps.rb CHANGED
@@ -28,6 +28,7 @@ require 'finapps/rest/products'
28
28
  require 'finapps/rest/order_assignments'
29
29
  require 'finapps/rest/client'
30
30
  require 'finapps/rest/order_refreshes'
31
+ require 'finapps/rest/statements'
31
32
 
32
33
  require 'finapps/utils/query_builder'
33
34
  require 'finapps/version' unless defined?(FinApps::VERSION)
@@ -21,6 +21,7 @@ module FinApps
21
21
  password_resets
22
22
  products
23
23
  sessions
24
+ statements
24
25
  consumers
25
26
  consumer_institution_refreshes
26
27
  user_institutions
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module FinApps
4
+ module REST
5
+ class Statements < FinAppsCore::REST::Resources
6
+ def show(account_id, document_id)
7
+ not_blank(account_id, :account_id)
8
+ not_blank(document_id, :document_id)
9
+
10
+ path = "accounts/#{ERB::Util.url_encode(account_id)}/statement/#{ERB::Util.url_encode(document_id)}"
11
+ super nil, path
12
+ end
13
+ end
14
+ end
15
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module FinApps
4
- VERSION = '2.3.2'
4
+ VERSION = '2.3.3'
5
5
  end
@@ -98,6 +98,10 @@ RSpec.describe FinApps::REST::Client do
98
98
  it { expect(subject.products).to be_an_instance_of(FinApps::REST::Products) }
99
99
  end
100
100
 
101
+ describe '#statements' do
102
+ it { expect(subject.statements).to be_an_instance_of(FinApps::REST::Statements) }
103
+ end
104
+
101
105
  FinApps::REST::Client::RESOURCES.each do |method|
102
106
  it "memoizes the result of #{method}" do
103
107
  first = subject.send(method)
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helpers/client'
4
+
5
+ RSpec.describe FinApps::REST::Statements do
6
+ include SpecHelpers::Client
7
+ subject { FinApps::REST::Statements.new(client) }
8
+
9
+ describe '#show' do
10
+ context 'when missing account_id' do
11
+ let(:show) { subject.show(nil, 'valid_id') }
12
+ it { expect { show }.to raise_error(FinAppsCore::MissingArgumentsError) }
13
+ end
14
+
15
+ context 'when missing document_id' do
16
+ let(:show) { subject.show('valid_id', nil) }
17
+ it { expect { show }.to raise_error(FinAppsCore::MissingArgumentsError) }
18
+ end
19
+
20
+ context 'when valid ids are provided' do
21
+ let(:show) { subject.show('valid_id', 'valid_id') }
22
+ it { expect { show }.not_to raise_error }
23
+ it('returns an array') { expect(show).to be_a(Array) }
24
+ it('performs a get and returns the response') { expect(show[RESULTS]).to respond_to(:data) }
25
+ it('returns no error messages') { expect(show[ERROR_MESSAGES]).to be_empty }
26
+ end
27
+
28
+ context 'when invalid ids are provided' do
29
+ let(:show) { subject.show('invalid_id', 'valid_id') }
30
+ it { expect { show }.not_to raise_error }
31
+ it('returns an array') { expect(show).to be_a(Array) }
32
+ it('results is nil') { expect(show[RESULTS]).to be_nil }
33
+ it('error messages array is populated') do
34
+ expect(show[ERROR_MESSAGES].first.downcase).to eq('resource not found')
35
+ end
36
+ end
37
+ end
38
+ end
@@ -84,6 +84,10 @@ class FakeApi < Sinatra::Base
84
84
  delete('/v2/consumers/valid_public_id') { status 204 }
85
85
  delete('/v2/consumers/invalid_public_id') { json_response 404, 'resource_not_found.json' }
86
86
 
87
+ # accounts
88
+ get('/v2/accounts/valid_id/statement/valid_id') { json_response 200, 'fake_pdf_statement.json' }
89
+ get('/v2/accounts/invalid_id/statement/valid_id') { json_response 404, 'resource_not_found.json' }
90
+
87
91
  # operators
88
92
  get('/v2/operators') { json_response 200, 'operator_list.json' }
89
93
  get('/v2/operators/invalid_id') { json_response 404, 'resource_not_found.json' }
@@ -0,0 +1,3 @@
1
+ {
2
+ "data": "pdf data here"
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.3.2
4
+ version: 2.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Erich Quintero
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-10-23 00:00:00.000000000 Z
11
+ date: 2017-11-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: finapps_core
@@ -224,6 +224,7 @@ files:
224
224
  - lib/finapps/rest/password_resets.rb
225
225
  - lib/finapps/rest/products.rb
226
226
  - lib/finapps/rest/sessions.rb
227
+ - lib/finapps/rest/statements.rb
227
228
  - lib/finapps/rest/user_institutions.rb
228
229
  - lib/finapps/rest/user_institutions_forms.rb
229
230
  - lib/finapps/rest/user_institutions_statuses.rb
@@ -248,6 +249,7 @@ files:
248
249
  - spec/rest/password_resets_spec.rb
249
250
  - spec/rest/products_spec.rb
250
251
  - spec/rest/sessions_spec.rb
252
+ - spec/rest/statements_spec.rb
251
253
  - spec/rest/user_institutions_forms_spec.rb
252
254
  - spec/rest/user_institutions_spec.rb
253
255
  - spec/rest/user_institutions_statuses_spec.rb
@@ -256,6 +258,7 @@ files:
256
258
  - spec/spec_helpers/client.rb
257
259
  - spec/support/fake_api.rb
258
260
  - spec/support/fixtures/error.json
261
+ - spec/support/fixtures/fake_pdf_statement.json
259
262
  - spec/support/fixtures/institution_add.json
260
263
  - spec/support/fixtures/institution_login_form.json
261
264
  - spec/support/fixtures/institutions_routing_number.json
@@ -319,6 +322,7 @@ summary: FinApps REST API ruby client.
319
322
  test_files:
320
323
  - spec/rest/operators_password_resets_spec.rb
321
324
  - spec/rest/products_spec.rb
325
+ - spec/rest/statements_spec.rb
322
326
  - spec/rest/version_spec.rb
323
327
  - spec/rest/user_institutions_forms_spec.rb
324
328
  - spec/rest/consumers_spec.rb