finapps 5.0.35 → 5.0.36
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 +7 -0
- data/.rubocop_todo.yml +1 -1
- data/RELEASES.md +9 -0
- data/lib/finapps.rb +2 -0
- data/lib/finapps/rest/client.rb +2 -0
- data/lib/finapps/rest/documents_orders.rb +1 -1
- data/lib/finapps/rest/documents_upload_types.rb +11 -0
- data/lib/finapps/rest/documents_uploads.rb +23 -0
- data/lib/finapps/version.rb +1 -1
- data/spec/rest/documents_upload_types_spec.rb +21 -0
- data/spec/rest/documents_uploads_spec.rb +104 -0
- data/spec/support/fake_api.rb +15 -0
- data/spec/support/fixtures/upload_types.json +9 -0
- metadata +9 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d502756b01180a324db1ab9e232bd71810d1e9f950bcaf9f47df667c3bd2d7ed
|
4
|
+
data.tar.gz: b1a9723d9944b250ff1d57917e66c903647929b3161ecb718dde62b9804f7d36
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 643b7f796405c8d6d06f2f414098b23f4295627702c03d119599827f8977866c8ffc8f62ab7b60330ae679ef35be0247440d16f938686c75f1426be3fec3a068
|
7
|
+
data.tar.gz: cb58c991c8b188221f9900d057e03d2394eaa7baaf712edf4f1f029a722436afe2e424e4562176778e00d294d9ebaac609ab7d578d57110162889e5b56a9ed2a
|
data/.rubocop.yml
CHANGED
@@ -10,6 +10,7 @@ AllCops:
|
|
10
10
|
- "vendor/**/*"
|
11
11
|
- "bin/**/*"
|
12
12
|
CacheRootDirectory: tmp
|
13
|
+
NewCops: enable
|
13
14
|
|
14
15
|
Layout/SpaceAroundMethodCallOperator:
|
15
16
|
Enabled: true
|
@@ -69,6 +70,8 @@ Naming/PredicateName:
|
|
69
70
|
|
70
71
|
RSpec/FilePath:
|
71
72
|
Enabled: false
|
73
|
+
Gemspec/RequiredRubyVersion:
|
74
|
+
Enabled: false
|
72
75
|
|
73
76
|
Style/RedundantRegexpCharacterClass:
|
74
77
|
Enabled: true
|
@@ -150,6 +153,10 @@ Style/RedundantFetchBlock:
|
|
150
153
|
Enabled: true
|
151
154
|
Style/SlicingWithRange:
|
152
155
|
Enabled: true
|
156
|
+
Style/OptionalBooleanParameter:
|
157
|
+
Enabled: false
|
158
|
+
Style/StringConcatenation:
|
159
|
+
Enabled: false
|
153
160
|
|
154
161
|
RSpec/NestedGroups:
|
155
162
|
Max: 5
|
data/.rubocop_todo.yml
CHANGED
data/RELEASES.md
CHANGED
@@ -1,3 +1,12 @@
|
|
1
|
+
## [5.0.36] - 2020-08-05
|
2
|
+
|
3
|
+
### Changed
|
4
|
+
* Add upload endpoints to support dashboard ([#309][i309])
|
5
|
+
|
6
|
+
[i309]: https://github.com/finapps/tenant-dashboard-react/issues/309
|
7
|
+
|
8
|
+
[5.0.36]: https://github.com/finapps/ruby-client/compare/5.0.35...5.0.36
|
9
|
+
|
1
10
|
## [5.0.35] - 2020-07-09
|
2
11
|
|
3
12
|
### Changed
|
data/lib/finapps.rb
CHANGED
@@ -30,7 +30,9 @@ require 'finapps/rest/portfolios_consumers'
|
|
30
30
|
require 'finapps/rest/consumers_portfolios'
|
31
31
|
require 'finapps/rest/portfolio_reports'
|
32
32
|
require 'finapps/rest/documents_orders'
|
33
|
+
require 'finapps/rest/documents_uploads'
|
33
34
|
require 'finapps/rest/esign_templates'
|
35
|
+
require 'finapps/rest/documents_upload_types'
|
34
36
|
require 'finapps/rest/signed_documents_downloads'
|
35
37
|
require 'finapps/rest/documents_orders_notifications'
|
36
38
|
|
data/lib/finapps/rest/client.rb
CHANGED
@@ -0,0 +1,23 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module FinApps
|
4
|
+
module REST
|
5
|
+
class DocumentsUploads < FinAppsCore::REST::Resources
|
6
|
+
def show(consumer_id, doc_id, thumbnail = false)
|
7
|
+
not_blank(consumer_id, :consumer_id)
|
8
|
+
not_blank(doc_id, :doc_id)
|
9
|
+
|
10
|
+
path =
|
11
|
+
"consumers/#{ERB::Util.url_encode(consumer_id)}/"\
|
12
|
+
"documents/#{ERB::Util.url_encode(doc_id)}?thumbnail=#{thumbnail}"
|
13
|
+
super(nil, path)
|
14
|
+
end
|
15
|
+
|
16
|
+
def destroy(order_id, doc_id)
|
17
|
+
not_blank(order_id, :order_id)
|
18
|
+
not_blank(doc_id, :doc_id)
|
19
|
+
super(nil, "documents/orders/#{order_id}/#{doc_id}")
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
data/lib/finapps/version.rb
CHANGED
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'spec_helpers/client'
|
4
|
+
require 'rest/api_request'
|
5
|
+
|
6
|
+
RSpec.describe FinApps::REST::DocumentsUploadTypes do
|
7
|
+
include SpecHelpers::Client
|
8
|
+
subject(:upload_types) { described_class.new(client).list }
|
9
|
+
|
10
|
+
let(:results) { upload_types[0] }
|
11
|
+
|
12
|
+
describe '#list' do
|
13
|
+
context 'when called' do
|
14
|
+
it_behaves_like 'an API request'
|
15
|
+
it_behaves_like 'a successful request'
|
16
|
+
it('performs a get and returns the response') do
|
17
|
+
expect(results[0]).to have_key(:type)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,104 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'spec_helpers/client'
|
4
|
+
require 'rest/api_request'
|
5
|
+
|
6
|
+
RSpec.describe FinApps::REST::DocumentsUploads do
|
7
|
+
include SpecHelpers::Client
|
8
|
+
|
9
|
+
describe '#show' do
|
10
|
+
let(:upload) { described_class.new(client) }
|
11
|
+
|
12
|
+
context 'when missing doc id' do
|
13
|
+
subject(:show) { upload.show(:consumer_id, nil) }
|
14
|
+
|
15
|
+
it 'raises an error' do
|
16
|
+
expect { show }.to raise_error(FinAppsCore::MissingArgumentsError)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
context 'when missing consumer id' do
|
21
|
+
subject(:show) { upload.show(nil, :doc_id) }
|
22
|
+
|
23
|
+
it 'raises an error' do
|
24
|
+
expect { show }.to raise_error(FinAppsCore::MissingArgumentsError)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
context 'when thumbnail is not included' do
|
29
|
+
subject(:show) do
|
30
|
+
upload.show(
|
31
|
+
:consumer_id,
|
32
|
+
:doc_id
|
33
|
+
)
|
34
|
+
end
|
35
|
+
|
36
|
+
it_behaves_like 'an API request'
|
37
|
+
it_behaves_like 'a successful request'
|
38
|
+
end
|
39
|
+
|
40
|
+
context 'when thumbnail is included' do
|
41
|
+
subject(:show) do
|
42
|
+
upload.show(
|
43
|
+
:consumer_id,
|
44
|
+
:doc_id,
|
45
|
+
true
|
46
|
+
)
|
47
|
+
end
|
48
|
+
|
49
|
+
it_behaves_like 'an API request'
|
50
|
+
it_behaves_like 'a successful request'
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
describe '#destroy' do
|
55
|
+
subject(:destroy) { described_class.new(client).destroy(order_id, doc_id) }
|
56
|
+
|
57
|
+
let(:results) { destroy[0] }
|
58
|
+
let(:error_messages) { destroy[1] }
|
59
|
+
|
60
|
+
context 'with valid id' do
|
61
|
+
let(:order_id) { :valid_order_id }
|
62
|
+
let(:doc_id) { :valid_doc_id }
|
63
|
+
|
64
|
+
it_behaves_like 'an API request'
|
65
|
+
it_behaves_like 'a successful request'
|
66
|
+
it('results is nil') { expect(results).to be_nil }
|
67
|
+
end
|
68
|
+
|
69
|
+
context 'with invalid order id' do
|
70
|
+
let(:order_id) { :invalid_order_id }
|
71
|
+
let(:doc_id) { :valid_doc_id }
|
72
|
+
|
73
|
+
it_behaves_like 'an API request'
|
74
|
+
it('results is nil') { expect(results).to be_nil }
|
75
|
+
|
76
|
+
it('error messages array is populated') do
|
77
|
+
expect(error_messages.first.downcase).to eq('resource not found')
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
context 'with invalid doc id' do
|
82
|
+
let(:order_id) { :valid_order_id }
|
83
|
+
let(:doc_id) { :invalid_doc_id }
|
84
|
+
|
85
|
+
it_behaves_like 'an API request'
|
86
|
+
it('results is nil') { expect(results).to be_nil }
|
87
|
+
|
88
|
+
it('error messages array is populated') do
|
89
|
+
expect(error_messages.first.downcase).to eq('resource not found')
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
93
|
+
context 'with missing id' do
|
94
|
+
let(:order_id) { nil }
|
95
|
+
let(:doc_id) { nil }
|
96
|
+
|
97
|
+
it do
|
98
|
+
expect { destroy }.to raise_error(
|
99
|
+
FinAppsCore::MissingArgumentsError
|
100
|
+
)
|
101
|
+
end
|
102
|
+
end
|
103
|
+
end
|
104
|
+
end
|
data/spec/support/fake_api.rb
CHANGED
@@ -251,6 +251,18 @@ class FakeApi < Sinatra::Base
|
|
251
251
|
json_response 404, 'invalid_signature_id.json'
|
252
252
|
end
|
253
253
|
|
254
|
+
# documents_uploads
|
255
|
+
get("/#{version}/consumers/:consumer_id/documents/:doc_id?thumbnail=false") do
|
256
|
+
pdf_response 'signed_document.pdf'
|
257
|
+
end
|
258
|
+
delete("/#{version}/documents/orders/valid_order_id/valid_doc_id") { status 204 }
|
259
|
+
delete("/#{version}/documents/orders/valid_order_id/invalid_doc_id") do
|
260
|
+
json_response 404, 'resource_not_found.json'
|
261
|
+
end
|
262
|
+
delete("/#{version}/documents/orders/invalid_order_id/valid_doc_id") do
|
263
|
+
json_response 404, 'resource_not_found.json'
|
264
|
+
end
|
265
|
+
|
254
266
|
# documents orders notifications
|
255
267
|
post("/#{version}/documents/orders/valid_id/notify") { status 204 }
|
256
268
|
post("/#{version}/documents/orders/invalid_id/notify") do
|
@@ -265,6 +277,9 @@ class FakeApi < Sinatra::Base
|
|
265
277
|
# esign_templates
|
266
278
|
get("/#{version}/esign_templates") { json_response 200, 'esign_templates.json' }
|
267
279
|
|
280
|
+
# document_upload_types
|
281
|
+
get("/#{version}/documents/upload_types") { json_response 200, 'upload_types.json' }
|
282
|
+
|
268
283
|
# consumers
|
269
284
|
get("/#{version}/consumers") do
|
270
285
|
json_response 200, 'users.json'
|
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: 5.0.
|
4
|
+
version: 5.0.36
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Erich Quintero
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-08-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: finapps_core
|
@@ -306,6 +306,8 @@ files:
|
|
306
306
|
- lib/finapps/rest/consumers_portfolios.rb
|
307
307
|
- lib/finapps/rest/documents_orders.rb
|
308
308
|
- lib/finapps/rest/documents_orders_notifications.rb
|
309
|
+
- lib/finapps/rest/documents_upload_types.rb
|
310
|
+
- lib/finapps/rest/documents_uploads.rb
|
309
311
|
- lib/finapps/rest/esign_templates.rb
|
310
312
|
- lib/finapps/rest/operators.rb
|
311
313
|
- lib/finapps/rest/operators_password_resets.rb
|
@@ -349,6 +351,8 @@ files:
|
|
349
351
|
- spec/rest/consumers_spec.rb
|
350
352
|
- spec/rest/documents_orders_notifications_spec.rb
|
351
353
|
- spec/rest/documents_orders_spec.rb
|
354
|
+
- spec/rest/documents_upload_types_spec.rb
|
355
|
+
- spec/rest/documents_uploads_spec.rb
|
352
356
|
- spec/rest/esign_templates_spec.rb
|
353
357
|
- spec/rest/operators_password_resets_spec.rb
|
354
358
|
- spec/rest/operators_spec.rb
|
@@ -436,6 +440,7 @@ files:
|
|
436
440
|
- spec/support/fixtures/tenant_app_settings.json
|
437
441
|
- spec/support/fixtures/tenant_settings.json
|
438
442
|
- spec/support/fixtures/unauthorized.json
|
443
|
+
- spec/support/fixtures/upload_types.json
|
439
444
|
- spec/support/fixtures/user.json
|
440
445
|
- spec/support/fixtures/users.json
|
441
446
|
- spec/support/fixtures/verix/document/document.pdf
|
@@ -506,6 +511,7 @@ test_files:
|
|
506
511
|
- spec/rest/verix/verix_records_spec.rb
|
507
512
|
- spec/rest/verix/verix_documents_spec.rb
|
508
513
|
- spec/rest/verix/verix_pdf_documents_spec.rb
|
514
|
+
- spec/rest/documents_uploads_spec.rb
|
509
515
|
- spec/rest/signed_documents_downloads_spec.rb
|
510
516
|
- spec/rest/password_resets_spec.rb
|
511
517
|
- spec/rest/portfolio_reports_spec.rb
|
@@ -516,6 +522,7 @@ test_files:
|
|
516
522
|
- spec/rest/plaid/plaid_account_permissions_spec.rb
|
517
523
|
- spec/rest/consumers_portfolios_spec.rb
|
518
524
|
- spec/rest/documents_orders_spec.rb
|
525
|
+
- spec/rest/documents_upload_types_spec.rb
|
519
526
|
- spec/rest/alert_occurrences_spec.rb
|
520
527
|
- spec/rest/tenant_settings_spec.rb
|
521
528
|
- spec/rest/orders_spec.rb
|