finapps 6.4.3 → 6.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/.github/release-drafter.yml +1 -1
  3. data/.github/workflows/ci.yaml +1 -1
  4. data/.github/workflows/release.yml +1 -1
  5. data/.github/workflows/verify-pr-labeled.yml +1 -1
  6. data/.rubocop.yml +3 -0
  7. data/finapps.gemspec +1 -1
  8. data/lib/finapps/rest/actors.rb +13 -0
  9. data/lib/finapps/rest/client.rb +3 -1
  10. data/lib/finapps/rest/operators.rb +23 -12
  11. data/lib/finapps/rest/screening_metadatas.rb +32 -0
  12. data/lib/finapps/rest/screenings.rb +1 -1
  13. data/lib/finapps/version.rb +1 -1
  14. data/lib/finapps.rb +2 -0
  15. data/spec/rest/actors_spec.rb +39 -0
  16. data/spec/rest/documents_orders_spec.rb +1 -1
  17. data/spec/rest/documents_upload_types_spec.rb +1 -1
  18. data/spec/rest/documents_uploads_spec.rb +1 -1
  19. data/spec/rest/esign_templates_spec.rb +1 -1
  20. data/spec/rest/operators_spec.rb +164 -170
  21. data/spec/rest/plaid/plaid_account_permissions_spec.rb +1 -1
  22. data/spec/rest/plaid/plaid_accounts_spec.rb +1 -1
  23. data/spec/rest/plaid/plaid_consumer_institutions_spec.rb +1 -1
  24. data/spec/rest/plaid/plaid_institution_logos_spec.rb +1 -1
  25. data/spec/rest/plaid/plaid_webhooks_spec.rb +1 -1
  26. data/spec/rest/screening_metadatas_spec.rb +131 -0
  27. data/spec/rest/screenings_spec.rb +8 -12
  28. data/spec/rest/signed_documents_downloads_spec.rb +1 -1
  29. data/spec/rest/verix/verix_documents_spec.rb +1 -1
  30. data/spec/rest/verix/verix_metadata_spec.rb +1 -1
  31. data/spec/rest/verix/verix_pdf_documents_spec.rb +1 -1
  32. data/spec/rest/verix/verix_records_spec.rb +1 -1
  33. data/spec/{rest → spec_helpers}/api_request.rb +11 -8
  34. data/spec/support/fake_api.rb +8 -7
  35. data/spec/support/fixtures/actors/details.json +19 -0
  36. data/spec/support/fixtures/screening_metadatas/not_found.json +3 -0
  37. data/spec/support/fixtures/screening_metadatas/show.json +4 -0
  38. data/spec/support/routes/actors.rb +14 -0
  39. data/spec/support/routes/screening_metadatas.rb +45 -0
  40. metadata +57 -44
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'spec_helpers/client'
4
- require 'rest/api_request'
4
+ require 'spec_helpers/api_request'
5
5
 
6
6
  RSpec.describe FinApps::REST::VerixDocuments do
7
7
  include SpecHelpers::Client
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'spec_helpers/client'
4
- require 'rest/api_request'
4
+ require 'spec_helpers/api_request'
5
5
 
6
6
  RSpec.describe FinApps::REST::VerixMetadata do
7
7
  include SpecHelpers::Client
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'spec_helpers/client'
4
- require 'rest/api_request'
4
+ require 'spec_helpers/api_request'
5
5
 
6
6
  RSpec.describe FinApps::REST::VerixPdfDocuments do
7
7
  include SpecHelpers::Client
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'spec_helpers/client'
4
- require 'rest/api_request'
4
+ require 'spec_helpers/api_request'
5
5
 
6
6
  RSpec.describe FinApps::REST::VerixRecords do
7
7
  include SpecHelpers::Client
@@ -1,12 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  RSpec.shared_examples 'an API request' do |_parameter|
4
- it do
5
- expect do
6
- # noinspection RubyBlockToMethodReference
7
- subject
8
- end.not_to raise_error
9
- end
4
+ it { expect { subject }.not_to raise_error }
10
5
 
11
6
  it('returns an array') { expect(subject).to be_a(Array) }
12
7
  end
@@ -17,10 +12,18 @@ RSpec.shared_examples 'a successful request' do |_parameter|
17
12
  end
18
13
  end
19
14
 
20
- RSpec.shared_examples 'a request that raises an error' do |_parameter|
15
+ RSpec.shared_examples 'a request that raises an error' do |parameter|
21
16
  it do
22
17
  expect { subject }.to raise_error(
23
- FinAppsCore::MissingArgumentsError
18
+ parameter || FinAppsCore::MissingArgumentsError
24
19
  )
25
20
  end
26
21
  end
22
+
23
+ RSpec.shared_examples 'a GET index request' do
24
+ it { expect(results).to have_key(:records) }
25
+
26
+ it('returns an array of records') do
27
+ expect(results[:records]).to be_a(Array)
28
+ end
29
+ end
@@ -3,6 +3,8 @@
3
3
  require 'sinatra/base'
4
4
  require_relative 'documents_uploads_routes'
5
5
  require_relative 'screenings_routes'
6
+ require_relative 'routes/actors'
7
+ require_relative 'routes/screening_metadatas'
6
8
 
7
9
  module Fake
8
10
  # the FakeApi class is used to mock API requests while testing.
@@ -18,6 +20,11 @@ module Fake
18
20
  put("/#{version}/resources") { json_response 201, 'resource.json' }
19
21
  delete("/#{version}/resources/:id") { status 202 }
20
22
 
23
+ include ActorsRoutes
24
+ include DocumentsUploadsRoutes
25
+ include ScreeningsRoutes
26
+ include ScreeningMetadatasRoutes
27
+
21
28
  # verix_metadata
22
29
  get("/#{version}/v/metadata") do
23
30
  json_response 200, 'verix/metadata.json'
@@ -257,9 +264,6 @@ module Fake
257
264
  json_response 404, 'invalid_signature_id.json'
258
265
  end
259
266
 
260
- # documents_uploads
261
- include DocumentsUploadsRoutes
262
-
263
267
  # documents orders notifications
264
268
  post("/#{version}/documents/orders/valid_id/notify") { status 204 }
265
269
  post("/#{version}/documents/orders/invalid_id/notify") do
@@ -277,9 +281,6 @@ module Fake
277
281
  # document_upload_types
278
282
  get("/#{version}/documents/upload_types") { json_response 200, 'upload_types.json' }
279
283
 
280
- # screenings
281
- include ScreeningsRoutes
282
-
283
284
  # consumers
284
285
  get("/#{version}/consumers") do
285
286
  json_response 200, 'users.json'
@@ -554,7 +555,7 @@ module Fake
554
555
  def http_response(content_type, response_code, file_name)
555
556
  content_type content_type
556
557
  status response_code
557
- File.open("#{File.dirname(__FILE__)}/fixtures/#{file_name}").read
558
+ File.read("#{File.dirname(__FILE__)}/fixtures/#{file_name}")
558
559
  end
559
560
  end
560
561
  end
@@ -0,0 +1,19 @@
1
+ {
2
+ "auth0_id": "string",
3
+ "date_created": "2021-10-27T02:36:01Z",
4
+ "date_modified": "2021-10-27T02:36:01Z",
5
+ "email": "string",
6
+ "external_id": "string",
7
+ "first_name": "string",
8
+ "language": "string",
9
+ "last_name": "string",
10
+ "locked": true,
11
+ "memo": "string",
12
+ "phone": "string",
13
+ "phone_country_code": "string",
14
+ "public_id": "string",
15
+ "role": 0,
16
+ "status": 0,
17
+ "tenant_id": "string",
18
+ "token": "string"
19
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "messages": [ "The screening ID was not found" ]
3
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "key": "le-key",
3
+ "value": "le-value"
4
+ }
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Fake
4
+ module ActorsRoutes
5
+ class << self
6
+ def included(base)
7
+ base.get("/#{base.version}/actor/details") do
8
+ json_response 200, 'actors/details.json'
9
+ end
10
+ super
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,45 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Fake
4
+ module ScreeningMetadatasRoutes
5
+ class << self
6
+ def included(base)
7
+ get_routes base
8
+ post_routes base
9
+ destroy_routes base
10
+
11
+ super
12
+ end
13
+
14
+ def post_routes(base)
15
+ base.post("/#{base.version}/screenings/:session_id/meta") do
16
+ if params[:session_id] == 'session_id'
17
+ status 204
18
+ else
19
+ json_response 404, 'screening_metadatas/not_found.json'
20
+ end
21
+ end
22
+ end
23
+
24
+ def destroy_routes(base)
25
+ base.delete("/#{base.version}/screenings/:session_id/meta/:key") do
26
+ if params[:session_id] == 'session_id'
27
+ status 204
28
+ else
29
+ json_response 404, 'screening_metadatas/not_found.json'
30
+ end
31
+ end
32
+ end
33
+
34
+ def get_routes(base)
35
+ base.get("/#{base.version}/screenings/:session_id/meta/:key") do
36
+ if params[:session_id] == 'session_id'
37
+ json_response 200, 'screening_metadatas/show.json'
38
+ else
39
+ json_response 404, 'screening_metadatas/not_found.json'
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
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: 6.4.3
4
+ version: 6.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Erich Quintero
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-09-23 00:00:00.000000000 Z
11
+ date: 2022-01-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: finapps_core
@@ -136,20 +136,20 @@ dependencies:
136
136
  requirements:
137
137
  - - "~>"
138
138
  - !ruby/object:Gem::Version
139
- version: '2.4'
139
+ version: '2.5'
140
140
  - - ">="
141
141
  - !ruby/object:Gem::Version
142
- version: 2.4.0
142
+ version: 2.5.0
143
143
  type: :development
144
144
  prerelease: false
145
145
  version_requirements: !ruby/object:Gem::Requirement
146
146
  requirements:
147
147
  - - "~>"
148
148
  - !ruby/object:Gem::Version
149
- version: '2.4'
149
+ version: '2.5'
150
150
  - - ">="
151
151
  - !ruby/object:Gem::Version
152
- version: 2.4.0
152
+ version: 2.5.0
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: simplecov
155
155
  requirement: !ruby/object:Gem::Requirement
@@ -258,6 +258,7 @@ files:
258
258
  - Rakefile
259
259
  - finapps.gemspec
260
260
  - lib/finapps.rb
261
+ - lib/finapps/rest/actors.rb
261
262
  - lib/finapps/rest/alert_definitions.rb
262
263
  - lib/finapps/rest/alert_occurrences.rb
263
264
  - lib/finapps/rest/client.rb
@@ -293,6 +294,7 @@ files:
293
294
  - lib/finapps/rest/portfolios_available_consumers.rb
294
295
  - lib/finapps/rest/portfolios_consumers.rb
295
296
  - lib/finapps/rest/products.rb
297
+ - lib/finapps/rest/screening_metadatas.rb
296
298
  - lib/finapps/rest/screenings.rb
297
299
  - lib/finapps/rest/sessions.rb
298
300
  - lib/finapps/rest/signed_documents_downloads.rb
@@ -305,9 +307,9 @@ files:
305
307
  - lib/finapps/rest/version.rb
306
308
  - lib/finapps/utils/query_builder.rb
307
309
  - lib/finapps/version.rb
310
+ - spec/rest/actors_spec.rb
308
311
  - spec/rest/alert_definitions_spec.rb
309
312
  - spec/rest/alert_occurrences_spec.rb
310
- - spec/rest/api_request.rb
311
313
  - spec/rest/client_spec.rb
312
314
  - spec/rest/consumer_login_tokens_spec.rb
313
315
  - spec/rest/consumers_portfolios_spec.rb
@@ -340,6 +342,7 @@ files:
340
342
  - spec/rest/portfolios_consumers_spec.rb
341
343
  - spec/rest/portfolios_spec.rb
342
344
  - spec/rest/products_spec.rb
345
+ - spec/rest/screening_metadatas_spec.rb
343
346
  - spec/rest/screenings_spec.rb
344
347
  - spec/rest/sessions_spec.rb
345
348
  - spec/rest/signed_documents_downloads_spec.rb
@@ -351,9 +354,11 @@ files:
351
354
  - spec/rest/verix/verix_records_spec.rb
352
355
  - spec/rest/version_spec.rb
353
356
  - spec/spec_helper.rb
357
+ - spec/spec_helpers/api_request.rb
354
358
  - spec/spec_helpers/client.rb
355
359
  - spec/support/documents_uploads_routes.rb
356
360
  - spec/support/fake_api.rb
361
+ - spec/support/fixtures/actors/details.json
357
362
  - spec/support/fixtures/alert_definition.json
358
363
  - spec/support/fixtures/alert_definitions.json
359
364
  - spec/support/fixtures/alert_occurrences.json
@@ -407,6 +412,8 @@ files:
407
412
  - spec/support/fixtures/screening.json
408
413
  - spec/support/fixtures/screening_invalid_update.json
409
414
  - spec/support/fixtures/screening_list.json
415
+ - spec/support/fixtures/screening_metadatas/not_found.json
416
+ - spec/support/fixtures/screening_metadatas/show.json
410
417
  - spec/support/fixtures/screenings/last_session.json
411
418
  - spec/support/fixtures/screenings/session_not_found_with_id.json
412
419
  - spec/support/fixtures/screenings/tenant_schemas.json
@@ -426,6 +433,8 @@ files:
426
433
  - spec/support/fixtures/verix/metadata.json
427
434
  - spec/support/fixtures/verix/record/create.json
428
435
  - spec/support/fixtures/verix/record/list.json
436
+ - spec/support/routes/actors.rb
437
+ - spec/support/routes/screening_metadatas.rb
429
438
  - spec/support/screenings_routes.rb
430
439
  - spec/utils/query_builder_spec.rb
431
440
  - tags
@@ -459,54 +468,58 @@ signing_key:
459
468
  specification_version: 4
460
469
  summary: FinApps REST API ruby client.
461
470
  test_files:
471
+ - spec/support/routes/actors.rb
472
+ - spec/support/routes/screening_metadatas.rb
462
473
  - spec/support/screenings_routes.rb
463
- - spec/support/fake_api.rb
464
474
  - spec/support/documents_uploads_routes.rb
465
- - spec/spec_helper.rb
466
- - spec/spec_helpers/client.rb
467
- - spec/rest/portfolios_alerts_spec.rb
468
- - spec/rest/products_spec.rb
475
+ - spec/support/fake_api.rb
476
+ - spec/rest/operators_login_tokens_spec.rb
477
+ - spec/rest/screening_metadatas_spec.rb
478
+ - spec/rest/documents_upload_types_spec.rb
479
+ - spec/rest/orders_spec.rb
480
+ - spec/rest/tenant_app_settings_spec.rb
481
+ - spec/rest/version_spec.rb
482
+ - spec/rest/screenings_spec.rb
469
483
  - spec/rest/documents_orders_spec.rb
484
+ - spec/rest/documents_uploads_spec.rb
485
+ - spec/rest/alert_definitions_spec.rb
470
486
  - spec/rest/password_resets_spec.rb
487
+ - spec/rest/order_reports_spec.rb
488
+ - spec/rest/alert_occurrences_spec.rb
489
+ - spec/rest/portfolios_available_consumers_spec.rb
490
+ - spec/rest/consumer_login_tokens_spec.rb
491
+ - spec/rest/tenant_settings_spec.rb
471
492
  - spec/rest/order_statuses_spec.rb
493
+ - spec/rest/products_spec.rb
472
494
  - spec/rest/operators_spec.rb
473
- - spec/rest/operator_change_password_email_spec.rb
474
- - spec/rest/esign_templates_spec.rb
475
- - spec/rest/order_tokens_spec.rb
476
- - spec/rest/order_reports_spec.rb
477
- - spec/rest/documents_upload_types_spec.rb
495
+ - spec/rest/sessions_spec.rb
496
+ - spec/rest/order_notifications_spec.rb
497
+ - spec/rest/signed_documents_downloads_spec.rb
498
+ - spec/rest/portfolio_reports_spec.rb
499
+ - spec/rest/portfolios_spec.rb
478
500
  - spec/rest/consumers_portfolios_spec.rb
479
- - spec/rest/portfolios_consumers_spec.rb
480
- - spec/rest/verix/verix_metadata_spec.rb
481
501
  - spec/rest/verix/verix_documents_spec.rb
482
- - spec/rest/verix/verix_records_spec.rb
483
502
  - spec/rest/verix/verix_pdf_documents_spec.rb
484
- - spec/rest/api_request.rb
485
- - spec/rest/tenant_settings_spec.rb
486
- - spec/rest/consumers_spec.rb
487
- - spec/rest/client_spec.rb
488
- - spec/rest/portfolios_available_consumers_spec.rb
489
- - spec/rest/alert_definitions_spec.rb
490
- - spec/rest/order_notifications_spec.rb
491
- - spec/rest/operators_password_resets_spec.rb
492
- - spec/rest/version_spec.rb
493
- - spec/rest/portfolios_spec.rb
494
- - spec/rest/sessions_spec.rb
495
- - spec/rest/documents_orders_notifications_spec.rb
496
- - spec/rest/tenant_app_settings_spec.rb
497
- - spec/rest/documents_uploads_spec.rb
498
- - spec/rest/screenings_spec.rb
499
- - spec/rest/signed_documents_downloads_spec.rb
503
+ - spec/rest/verix/verix_metadata_spec.rb
504
+ - spec/rest/verix/verix_records_spec.rb
505
+ - spec/rest/order_refreshes_spec.rb
500
506
  - spec/rest/plaid/plaid_account_permissions_spec.rb
507
+ - spec/rest/plaid/plaid_consumer_institutions_spec.rb
508
+ - spec/rest/plaid/plaid_institution_logos_spec.rb
501
509
  - spec/rest/plaid/plaid_webhooks_spec.rb
502
510
  - spec/rest/plaid/plaid_accounts_spec.rb
503
- - spec/rest/plaid/plaid_institution_logos_spec.rb
504
- - spec/rest/plaid/plaid_consumer_institutions_spec.rb
511
+ - spec/rest/client_spec.rb
512
+ - spec/rest/portfolios_alerts_spec.rb
513
+ - spec/rest/consumers_spec.rb
505
514
  - spec/rest/order_assignments_spec.rb
506
- - spec/rest/consumer_login_tokens_spec.rb
507
- - spec/rest/alert_occurrences_spec.rb
508
- - spec/rest/operators_login_tokens_spec.rb
509
- - spec/rest/order_refreshes_spec.rb
510
- - spec/rest/portfolio_reports_spec.rb
511
- - spec/rest/orders_spec.rb
515
+ - spec/rest/operator_change_password_email_spec.rb
516
+ - spec/rest/documents_orders_notifications_spec.rb
517
+ - spec/rest/operators_password_resets_spec.rb
518
+ - spec/rest/esign_templates_spec.rb
519
+ - spec/rest/order_tokens_spec.rb
520
+ - spec/rest/portfolios_consumers_spec.rb
521
+ - spec/rest/actors_spec.rb
522
+ - spec/spec_helpers/api_request.rb
523
+ - spec/spec_helpers/client.rb
512
524
  - spec/utils/query_builder_spec.rb
525
+ - spec/spec_helper.rb