finapps 2.3.2 → 2.3.3

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 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