finapps 5.0.29 → 5.0.30

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
  SHA256:
3
- metadata.gz: 1f24fb86c099693e3d0f4ffb075bbaadd4886e9c165680b192a86bc79b6e6b82
4
- data.tar.gz: 65255650d2ac2cf388f83b9be35b9b9d838ae4c2d85d850e2b25352c73e95227
3
+ metadata.gz: 1c74f2340d52ad3cd13dc2bdf8415e7cf89e48f0993dbb346456546910a69ba9
4
+ data.tar.gz: 3bdefc2032a2efa241d5cc72ab5d6b74fc44b568599f0054bf5477e473fab81f
5
5
  SHA512:
6
- metadata.gz: 254d4ceb173bb18759b6aed0c6b1fd3144656e516376b7c559bdc1e9836d0782d227e35508ac032b8fb3d03d268b171e8f357ceb6c191fc1d57a9e68bca9829d
7
- data.tar.gz: 15a9340a7550212b940e16fb22890cd8ff22a99b1bc05bac3cd46435acd1f2aefa93d4118418c47c3abd2e720a27091c39b3f6b9b1376e002f49ade74f546df9
6
+ metadata.gz: 9cb6732ca1b8ba09cc84920ec7fdd086259cd339f012f72cf19c30387f877f3af1aa495bea47f019ee638e9a32eb3f76bbd0397e89b6e773e108da98e9bc8300
7
+ data.tar.gz: 5dedcdb78fa82b22011520031aae7aa55b1c6e35a7f5ccd55e16fdaa1c6d3b19bd4d17e300a00849d1768be6528b2396adff43ef96b6c6f060740af4315c857f
@@ -12,7 +12,8 @@ plugins:
12
12
  enabled: true
13
13
  config:
14
14
  languages:
15
- - ruby
15
+ ruby:
16
+ mass_threshold: 30
16
17
 
17
18
  ratings:
18
19
  paths:
@@ -1,3 +1,16 @@
1
+ ## [5.0.30] - 2020-05-28
2
+
3
+ ### Added
4
+ * New esign endpoints ([#222][i222])
5
+
6
+ ### Changed
7
+ * Search query for documents orders ([#221][i221])
8
+
9
+ [i221]: https://github.com/finapps/ruby-client/issues/221
10
+ [i222]: https://github.com/finapps/ruby-client/issues/222
11
+
12
+ [5.0.30]: https://github.com/finapps/ruby-client/compare/5.0.29...5.0.30
13
+
1
14
  ## [5.0.29] - 2020-05-08
2
15
 
3
16
  ### Added
@@ -31,6 +31,8 @@ require 'finapps/rest/consumers_portfolios'
31
31
  require 'finapps/rest/portfolio_reports'
32
32
  require 'finapps/rest/documents_orders'
33
33
  require 'finapps/rest/esign_templates'
34
+ require 'finapps/rest/signed_documents_downloads'
35
+ require 'finapps/rest/documents_orders_notifications'
34
36
 
35
37
  require 'finapps/rest/plaid/plaid_resources'
36
38
  require 'finapps/rest/plaid/plaid_webhooks'
@@ -12,6 +12,7 @@ module FinApps
12
12
  consumers
13
13
  consumers_portfolios
14
14
  documents_orders
15
+ documents_orders_notifications
15
16
  esign_templates
16
17
  orders
17
18
  order_assignments
@@ -35,6 +36,7 @@ module FinApps
35
36
  portfolio_reports
36
37
  products
37
38
  sessions
39
+ signed_documents_downloads
38
40
  tenant_settings
39
41
  tenant_app_settings
40
42
  verix_metadata
@@ -53,7 +53,8 @@ module FinApps
53
53
  if term
54
54
  {
55
55
  "$or": [
56
- { "order_id": { "$regex": "^#{term}", "$options": 'i' } },
56
+ { "applicant.email": term },
57
+ { "applicant.first_name": term },
57
58
  { "applicant.last_name": term },
58
59
  {
59
60
  "reference_no": {
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module FinApps
4
+ module REST
5
+ class DocumentsOrdersNotifications < FinAppsCore::REST::Resources
6
+ def create(id)
7
+ not_blank(id, :id)
8
+
9
+ path = "documents/orders/#{ERB::Util.url_encode(id)}/notify"
10
+ super nil, path
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module FinApps
4
+ module REST
5
+ class SignedDocumentsDownloads < FinAppsCore::REST::Resources
6
+ def show(consumer_id, signature_request_id)
7
+ not_blank(consumer_id, :consumer_id)
8
+ not_blank(signature_request_id, :signature_request_id)
9
+ path =
10
+ "consumers/#{ERB::Util.url_encode(consumer_id)}/documents/#{ERB::Util.url_encode(signature_request_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 = '5.0.29'
4
+ VERSION = '5.0.30'
5
5
  end
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helpers/client'
4
+
5
+ RSpec.describe FinApps::REST::DocumentsOrdersNotifications do
6
+ include SpecHelpers::Client
7
+
8
+ describe '#create' do
9
+ subject(:notifications) { FinApps::REST::DocumentsOrdersNotifications.new(client) }
10
+
11
+ context 'when missing id' do
12
+ let(:create) { subject.create(nil) }
13
+ it('returns missing argument error') do
14
+ expect { create }.to raise_error(FinAppsCore::MissingArgumentsError)
15
+ end
16
+ end
17
+
18
+ context 'when invalid id is provided' do
19
+ let(:create) { subject.create(:invalid_id) }
20
+ let(:results) { create[RESULTS] }
21
+ let(:error_messages) { create[ERROR_MESSAGES] }
22
+
23
+ it { expect { create }.not_to raise_error }
24
+ it('results is nil') { expect(results).to be_nil }
25
+ it('error messages array is populated') do
26
+ expect(error_messages.first.downcase).to eq('order id is invalid')
27
+ end
28
+ end
29
+
30
+ context 'for valid id' do
31
+ let(:create) { subject.create(:valid_id) }
32
+ let(:results) { create[RESULTS] }
33
+ let(:error_messages) { create[ERROR_MESSAGES] }
34
+
35
+ it { expect { create }.not_to raise_error }
36
+ it('results is nil') { expect(results).to be_nil }
37
+ it('error_messages array is empty') { expect(error_messages).to eq([]) }
38
+ end
39
+ end
40
+ end
@@ -53,10 +53,11 @@ RSpec.describe FinApps::REST::DocumentsOrders do
53
53
  it 'builds query and sends proper request' do
54
54
  list
55
55
  url =
56
- "#{versioned_api_path}/documents/orders?filter=%7B%22$or%22:%5B%7B%22order_id%22:%7B%22$regex%22:"\
57
- '%22%5Eterm%22,%22$options%22:%22i%22%7D%7D,%7B%22applicant.last_name%22:%22term%22%7D,'\
58
- '%7B%22reference_no%22:%7B%22$regex%22:%22%5Eterm%22,%22$options%22:%22i%22%7D%7D%5D,'\
59
- '%22consumer_id%22:%22valid_consumer_id%22%7D&page=2&requested=25&sort=tag'
56
+ "#{versioned_api_path}/documents/orders?filter=%7B%22$or%22:%5B%7B%22applicant.email%22:"\
57
+ '%22term%22%7D,%7B%22applicant.first_name%22:%22term%22%7D,%7B%22applicant.last_name%22:'\
58
+ '%22term%22%7D,%7B%22reference_no%22:%7B%22$regex%22:%22%5Eterm%22,%22$options%22:%22i%22%7D%7D%5D,'\
59
+ '%22consumer_id%22:%22valid_consumer_id%22%7D&page=2&requested=25&sort=tag '
60
+
60
61
  expect(WebMock).to have_requested(:get, url)
61
62
  end
62
63
  end
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helpers/client'
4
+ require 'rest/api_request'
5
+
6
+ RSpec.describe FinApps::REST::SignedDocumentsDownloads do
7
+ include SpecHelpers::Client
8
+
9
+ let(:api_client) { client }
10
+ let(:document) { FinApps::REST::SignedDocumentsDownloads.new(api_client) }
11
+
12
+ describe '#show' do
13
+ context 'when missing parameters' do
14
+ subject { document.show(nil, :signature_request_id) }
15
+ it 'raises an error when missing consumer id' do
16
+ expect { subject }.to raise_error(FinAppsCore::MissingArgumentsError)
17
+ end
18
+
19
+ subject { document.show(:consumer_id, nil) }
20
+ it 'raises an error when missing signature request id' do
21
+ expect { subject }.to raise_error(FinAppsCore::MissingArgumentsError)
22
+ end
23
+ end
24
+
25
+ subject(:show) do
26
+ document.show(
27
+ :consumer_id,
28
+ :signature_request_id
29
+ )
30
+ end
31
+
32
+ it_behaves_like 'an API request'
33
+ it_behaves_like 'a successful request'
34
+ end
35
+ end
@@ -245,6 +245,17 @@ class FakeApi < Sinatra::Base
245
245
  json_response 404, 'invalid_signature_id.json'
246
246
  end
247
247
 
248
+ # documents orders notifications
249
+ post("/#{version}/documents/orders/valid_id/notify") { status 204 }
250
+ post("/#{version}/documents/orders/invalid_id/notify") do
251
+ json_response 400, 'invalid_order_id.json'
252
+ end
253
+
254
+ # signed documents downloads
255
+ get("/#{version}/consumers/:consumer_id/documents/:signature_request_id") do
256
+ pdf_response 'signed_document.pdf'
257
+ end
258
+
248
259
  # esign_templates
249
260
  get("/#{version}/esign_templates") { json_response 200, 'esign_templates.json' }
250
261
 
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.29
4
+ version: 5.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: 2020-05-20 00:00:00.000000000 Z
11
+ date: 2020-05-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: finapps_core
@@ -303,6 +303,7 @@ files:
303
303
  - lib/finapps/rest/consumers.rb
304
304
  - lib/finapps/rest/consumers_portfolios.rb
305
305
  - lib/finapps/rest/documents_orders.rb
306
+ - lib/finapps/rest/documents_orders_notifications.rb
306
307
  - lib/finapps/rest/esign_templates.rb
307
308
  - lib/finapps/rest/operators.rb
308
309
  - lib/finapps/rest/operators_password_resets.rb
@@ -327,6 +328,7 @@ files:
327
328
  - lib/finapps/rest/portfolios_consumers.rb
328
329
  - lib/finapps/rest/products.rb
329
330
  - lib/finapps/rest/sessions.rb
331
+ - lib/finapps/rest/signed_documents_downloads.rb
330
332
  - lib/finapps/rest/tenant_app_settings.rb
331
333
  - lib/finapps/rest/tenant_settings.rb
332
334
  - lib/finapps/rest/verix/verix_documents.rb
@@ -343,6 +345,7 @@ files:
343
345
  - spec/rest/client_spec.rb
344
346
  - spec/rest/consumers_portfolios_spec.rb
345
347
  - spec/rest/consumers_spec.rb
348
+ - spec/rest/documents_orders_notifications_spec.rb
346
349
  - spec/rest/documents_orders_spec.rb
347
350
  - spec/rest/esign_templates_spec.rb
348
351
  - spec/rest/operators_password_resets_spec.rb
@@ -367,6 +370,7 @@ files:
367
370
  - spec/rest/portfolios_spec.rb
368
371
  - spec/rest/products_spec.rb
369
372
  - spec/rest/sessions_spec.rb
373
+ - spec/rest/signed_documents_downloads_spec.rb
370
374
  - spec/rest/tenant_app_settings_spec.rb
371
375
  - spec/rest/tenant_settings_spec.rb
372
376
  - spec/rest/verix/verix_documents_spec.rb
@@ -424,6 +428,7 @@ files:
424
428
  - spec/support/fixtures/resource_not_found.json
425
429
  - spec/support/fixtures/resources.json
426
430
  - spec/support/fixtures/sign_url.json
431
+ - spec/support/fixtures/signed_document.pdf
427
432
  - spec/support/fixtures/single_consumer_subscribe_error.json
428
433
  - spec/support/fixtures/tenant_app_settings.json
429
434
  - spec/support/fixtures/tenant_settings.json
@@ -479,6 +484,7 @@ test_files:
479
484
  - spec/rest/portfolios_spec.rb
480
485
  - spec/rest/order_statuses_spec.rb
481
486
  - spec/rest/order_notifications_spec.rb
487
+ - spec/rest/documents_orders_notifications_spec.rb
482
488
  - spec/rest/operators_password_resets_spec.rb
483
489
  - spec/rest/esign_templates_spec.rb
484
490
  - spec/rest/portfolios_consumers_spec.rb
@@ -497,6 +503,7 @@ test_files:
497
503
  - spec/rest/verix/verix_records_spec.rb
498
504
  - spec/rest/verix/verix_documents_spec.rb
499
505
  - spec/rest/verix/verix_pdf_documents_spec.rb
506
+ - spec/rest/signed_documents_downloads_spec.rb
500
507
  - spec/rest/password_resets_spec.rb
501
508
  - spec/rest/portfolio_reports_spec.rb
502
509
  - spec/rest/plaid/plaid_webhooks_spec.rb