finapps 5.0.47 → 5.4.0

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: 487960017ebcda19c22179e090cb9328708a57dd5e54e0d05cc27e5660251d57
4
- data.tar.gz: 95abe37a2a66f36f973eb453d2302df92a9d1208c2ad5f20b4b6caf21737c358
3
+ metadata.gz: e65bb80fb054553a018a117ef278f51ca1f39cae1c51b32951c1c23b66456ae9
4
+ data.tar.gz: 98365bd10401bd230e3884d626f7a305bd331c02497445fa25484ba09ba14b42
5
5
  SHA512:
6
- metadata.gz: 5df1695cc14dc3a96d47867786a7f564806b5f58d56511c9e08482e3e9ce4767ac03257c055f644b2517d25666a70d0b6312f43fd218607258c642d967061a98
7
- data.tar.gz: 9f063fed1bafb02f77ed3b10230c77d757e0ae09c0f7d202f9d78d699dc1d7ba5f0809d59591f608c32aa9c81d86795b932ab5220d0adc13fcea07b2583c4d26
6
+ metadata.gz: e64cf1d45c0895165c6d7a47a8e762c3fba2c8925f16177dca3702853aff83834e9296be6942bc6025a7a22fc472dd4c44a9db9d7da079777a0c6e51e7c76a44
7
+ data.tar.gz: 3203972fa2e7001d4f099b8668368d263f253848e0b8d85ed6bba7dd9034c5344db5d15ca310f8daedeecc04d088a36c1332cb28f58460c6015cae1e2ae899da
@@ -0,0 +1,7 @@
1
+ version: 2
2
+ updates:
3
+ # Maintain dependencies for GitHub Actions
4
+ - package-ecosystem: "github-actions"
5
+ directory: "/"
6
+ schedule:
7
+ interval: "daily"
@@ -1,9 +1,16 @@
1
1
  name: Continuous Integration
2
2
 
3
- on: [push, pull_request]
4
-
3
+ on:
4
+ push:
5
+ paths-ignore:
6
+ - ".github/**"
7
+ - ".VERSION"
8
+ pull_request:
9
+ paths-ignore:
10
+ - ".github/**"
11
+ - ".VERSION"
5
12
  jobs:
6
- ci:
13
+ tests:
7
14
  if: "!contains(github.event.head_commit.message, 'skip ci')"
8
15
  runs-on: ubuntu-latest
9
16
 
@@ -11,26 +18,30 @@ jobs:
11
18
  fail-fast: true
12
19
 
13
20
  steps:
14
- - uses: actions/checkout@v1
21
+ - name: Checkout source code
22
+ uses: actions/checkout@v2
15
23
 
16
24
  - name: Install required ruby
17
25
  uses: ruby/setup-ruby@v1
18
26
 
19
- - uses: actions/cache@v2
27
+ - name: Setup cache key and directory for gems cache
28
+ uses: actions/cache@v2.1.4
20
29
  with:
21
30
  path: vendor/bundle
22
31
  key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}
23
32
  restore-keys: |
24
33
  ${{ runner.os }}-gems-
25
34
 
26
- - name: Install gems
35
+ - name: Bundle install
27
36
  run: |
28
- gem install -N bundler
29
37
  bundle config path vendor/bundle
30
- bundle install --jobs 4 --retry 3
38
+ bundle config set jobs 4
39
+ bundle config set retry 3
40
+ bundle install
31
41
 
32
42
  - name: Run rubocop
33
- run: bundle exec rubocop
43
+ run: |
44
+ bundle exec rubocop --parallel
34
45
 
35
46
  - name: Run tests
36
47
  run: bundle exec rspec
@@ -2,53 +2,53 @@ name: Bump version and Release
2
2
  on:
3
3
  release:
4
4
  types: [published]
5
-
5
+
6
6
  jobs:
7
7
  release:
8
8
  runs-on: ubuntu-latest
9
9
  strategy:
10
10
  fail-fast: true
11
11
 
12
- steps:
13
- - uses: actions/checkout@master
14
- with:
15
- persist-credentials: false
16
- fetch-depth: 0 # otherwise, you will failed to push refs to dest repo
12
+ steps:
13
+ - name: Checkout source code
14
+ uses: actions/checkout@v2
15
+ with:
16
+ persist-credentials: false
17
+ fetch-depth: 0 # otherwise, you will fail to push refs to dest repo
18
+
19
+ - name: Install required ruby version
20
+ uses: ruby/setup-ruby@v1
21
+
22
+ - name: Get version from latest tag
23
+ id: get_version
24
+ uses: battila7/get-version-action@v2
25
+
26
+ - name: Bump version
27
+ run: |
28
+ gem install -N gem-release
29
+ git config --local user.email "action@github.com"
30
+ git config --local user.name "GitHub Action"
31
+ gem bump --skip-ci --version ${{ steps.get_version.outputs.version-without-v }}
17
32
 
18
- - uses: actions/setup-ruby@v1
19
- with:
20
- ruby-version: '2.6'
21
-
22
- - name: Get version from latest tag
23
- id: get_version
24
- uses: battila7/get-version-action@v2
33
+ - name: Push changes
34
+ uses: ad-m/github-push-action@master
35
+ with:
36
+ # GitHub Actions token does not support pushing to protected branches.
37
+ # github_token: ${{ secrets.GITHUB_TOKEN }}
38
+ #
39
+ # A manually populated`PERSONAL_ACCESS_TOKEN` environment variable
40
+ # with permissions to push to a protected branch must be used.
41
+ # not ideal - keep eyes open for a better solution
42
+ github_token: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
25
43
 
26
- - name: Bump version
27
- run: |
28
- gem install -N gem-release
29
- git config --local user.email "action@github.com"
30
- git config --local user.name "GitHub Action"
31
- gem bump --skip-ci --version ${{ steps.get_version.outputs.version-without-v }}
32
-
33
- - name: Push changes
34
- uses: ad-m/github-push-action@master
35
- with:
36
- # GitHub Actions token does not support pushing to protected branches.
37
- # github_token: ${{ secrets.GITHUB_TOKEN }}
38
- #
39
- # A manually populated`PERSONAL_ACCESS_TOKEN` environment variable
40
- # with permissions to push to a protected branch must be used.
41
- # not ideal - keep eyes open for a better solution
42
- github_token: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
43
-
44
- - name: Release gem to rubygems.org
45
- run: |
46
- set +x
47
- mkdir -p ~/.gem
48
- cat << EOF > ~/.gem/credentials
49
- ---
50
- :rubygems_api_key: ${{ secrets.RUBYGEMS_API_KEY }}
51
- EOF
52
- chmod 0600 ~/.gem/credentials
53
- set -x
54
- gem release
44
+ - name: Release gem to rubygems.org
45
+ run: |
46
+ set +x
47
+ mkdir -p ~/.gem
48
+ cat << EOF > ~/.gem/credentials
49
+ ---
50
+ :rubygems_api_key: ${{ secrets.RUBYGEMS_API_KEY }}
51
+ EOF
52
+ chmod 0600 ~/.gem/credentials
53
+ set -x
54
+ gem release
data/.rubocop.yml CHANGED
@@ -48,7 +48,7 @@ Metrics/ClassLength:
48
48
  - app/controllers/orders_controller.rb
49
49
  - app/models/order.rb
50
50
  Metrics/BlockLength:
51
- ExcludedMethods: ['describe', 'context']
51
+ IgnoredMethods: ['describe', 'context']
52
52
  Exclude:
53
53
  - config/environments/**/**
54
54
  - Guardfile
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- ruby-2.6.3
1
+ ruby-2.7.2
data/Guardfile CHANGED
@@ -17,7 +17,7 @@
17
17
  #
18
18
  # and, you'll have to watch "config/Guardfile" instead of "Guardfile"
19
19
 
20
- # Note: The cmd option is now required due to the increasing number of ways
20
+ # NOTE: The cmd option is now required due to the increasing number of ways
21
21
  # rspec may be run, below are examples of the most common uses.
22
22
  # * bundler: 'bundle exec rspec'
23
23
  # * bundler binstubs: 'bin/rspec'
data/finapps.gemspec CHANGED
@@ -20,19 +20,20 @@ Gem::Specification.new do |spec|
20
20
  spec.test_files = Dir['spec/**/*.rb']
21
21
  spec.require_paths = ['lib']
22
22
 
23
- spec.add_runtime_dependency 'finapps_core', '~> 5.0', '>= 5.0.13'
23
+ spec.add_runtime_dependency 'finapps_core', '~> 5.0', '>= 5.0.15'
24
24
 
25
25
  spec.add_development_dependency 'bundler', '~> 2.0', '>= 2.0.2'
26
26
  spec.add_development_dependency 'codeclimate-test-reporter', '~> 1.0', '>= 1.0.9'
27
27
  spec.add_development_dependency 'guard', '~> 2.16', '>= 2.16.1'
28
28
  spec.add_development_dependency 'guard-rspec', '~> 4.7', '>= 4.7.3'
29
29
  spec.add_development_dependency 'rake', '~> 13.0', '>= 13.0.1'
30
- spec.add_development_dependency 'rspec', '~> 3.9', '>= 3.9.0'
31
- spec.add_development_dependency 'rubocop', '~> 0.87', '>= 0.87.0'
32
- spec.add_development_dependency 'rubocop-performance', '~> 1.7', '>= 1.7.0'
33
- spec.add_development_dependency 'rubocop-rspec', '~> 1.41', '>= 1.41.0'
34
- spec.add_development_dependency 'sinatra', '~> 2.0', '>= 2.0.8'
35
- spec.add_development_dependency 'webmock', '~> 3.8', '>= 3.8.0'
30
+ spec.add_development_dependency 'rspec', '~> 3.10', '>= 3.10.0'
31
+ spec.add_development_dependency 'rubocop', '~> 1.9', '>= 1.9.1'
32
+ spec.add_development_dependency 'rubocop-performance', '~> 1.9', '>= 1.9.2'
33
+ spec.add_development_dependency 'rubocop-rake', '~> 0.5', '>= 0.5.1'
34
+ spec.add_development_dependency 'rubocop-rspec', '~> 2.2', '>= 2.2.0'
35
+ spec.add_development_dependency 'sinatra', '~> 2.1', '>= 2.1.0'
36
+ spec.add_development_dependency 'webmock', '~> 3.11', '>= 3.11.2'
36
37
 
37
38
  spec.extra_rdoc_files = %w[README.md LICENSE.txt]
38
39
  spec.rdoc_options = %w[--line-numbers --inline-source --title finapps-ruby --main README.md]
@@ -83,7 +83,7 @@ module FinApps
83
83
 
84
84
  def camelize(term)
85
85
  string = term.to_s
86
- string = string.sub(/^[a-z\d]*/) { $&.capitalize }
86
+ string = string.sub(/^[a-z\d]*/) { Regexp.last_match(0).capitalize }
87
87
  string.gsub(%r{(?:_|(/))([a-z\d]*)}) do
88
88
  Regexp.last_match(2).capitalize.to_s
89
89
  end
@@ -62,9 +62,10 @@ module FinApps
62
62
 
63
63
  def with_space_search(term)
64
64
  [
65
- {"email": term},
66
- {"first_name": term},
67
- {"last_name": term}
65
+ {external_id: term},
66
+ {email: term},
67
+ {first_name: term},
68
+ {last_name: term}
68
69
  ]
69
70
  end
70
71
 
@@ -72,8 +73,8 @@ module FinApps
72
73
  search_arr = []
73
74
  if /\s/.match?(term)
74
75
  term.split.each do |t|
75
- search_arr.append("first_name": t)
76
- search_arr.append("last_name": t)
76
+ search_arr.append(first_name: t)
77
+ search_arr.append(last_name: t)
77
78
  end
78
79
  end
79
80
  search_arr
@@ -90,22 +90,21 @@ module FinApps
90
90
  end
91
91
 
92
92
  def with_space_search(term)
93
- [
94
- {"applicant.email": term},
95
- {"applicant.first_name": term},
96
- {"applicant.last_name": term},
97
- {
98
- "reference_no": {
99
- "$regex": "^#{term}", "$options": 'i'
100
- }
101
- }
102
- ]
93
+ [{"applicant.email": term},
94
+ {"applicant.first_name": term},
95
+ {"applicant.last_name": term},
96
+ {"applicant.external_id": term},
97
+ {
98
+ reference_no: {
99
+ "$regex": "^#{term}", "$options": 'i'
100
+ }
101
+ }]
103
102
  end
104
103
 
105
104
  def tag_query(tag)
106
105
  return {} unless tag
107
106
 
108
- {"tag": tag.empty? ? nil : tag}
107
+ {tag: tag.empty? ? nil : tag}
109
108
  end
110
109
 
111
110
  def status_query(status)
@@ -117,7 +116,7 @@ module FinApps
117
116
  def consumer_query(consumer)
118
117
  return {} unless consumer
119
118
 
120
- {"consumer_id": consumer.empty? ? nil : consumer}
119
+ {consumer_id: consumer.empty? ? nil : consumer}
121
120
  end
122
121
  end
123
122
  end
@@ -64,14 +64,14 @@ module FinApps
64
64
  end
65
65
 
66
66
  def search_query(term)
67
- {"last_name": term}
67
+ {last_name: term}
68
68
  end
69
69
 
70
70
  def role_query(role)
71
71
  if role.is_a?(Array)
72
- {"role": {"$in": role.map(&:to_i)}}
72
+ {role: {"$in": role.map(&:to_i)}}
73
73
  else
74
- {"role": role.to_i}
74
+ {role: role.to_i}
75
75
  end
76
76
  end
77
77
  end
@@ -81,7 +81,7 @@ module FinApps
81
81
  end
82
82
 
83
83
  def search_query_object(term)
84
- [{"public_id": {"$regex": "^#{term}", "$options": 'i'}},
84
+ [{public_id: {"$regex": "^#{term}", "$options": 'i'}},
85
85
  {"assignment.last_name": term},
86
86
  {"applicant.first_name": term},
87
87
  {"applicant.last_name": term},
@@ -95,9 +95,9 @@ module FinApps
95
95
  def status_query(status)
96
96
  if status
97
97
  if status.is_a?(Array)
98
- {"status": {"$in": status.map(&:to_i)}}
98
+ {status: {"$in": status.map(&:to_i)}}
99
99
  else
100
- {"status": status.to_i}
100
+ {status: status.to_i}
101
101
  end
102
102
  else
103
103
  {}
@@ -115,7 +115,7 @@ module FinApps
115
115
 
116
116
  def consumer_query(consumer)
117
117
  if consumer
118
- {"consumer_id": consumer.empty? ? nil : consumer}
118
+ {consumer_id: consumer.empty? ? nil : consumer}
119
119
  else
120
120
  {}
121
121
  end
@@ -125,8 +125,8 @@ module FinApps
125
125
  if !search_term && !nil_or_empty?(relation)
126
126
  {
127
127
  "$or": [
128
- {"public_id": {"$in": relation}},
129
- {"original_order_id": {"$in": relation}}
128
+ {public_id: {"$in": relation}},
129
+ {original_order_id: {"$in": relation}}
130
130
  ]
131
131
  }
132
132
  else
@@ -14,6 +14,18 @@ module FinApps
14
14
  super(nil, path)
15
15
  end
16
16
 
17
+ def tenant_schemas
18
+ path = 'schemas'
19
+ send_request path, :get
20
+ end
21
+
22
+ def last(consumer_id)
23
+ not_blank(consumer_id, :consumer_id)
24
+
25
+ path = "#{end_point}/#{ERB::Util.url_encode(consumer_id)}/consumer"
26
+ send_request_for_id path, :get, nil
27
+ end
28
+
17
29
  def create(params)
18
30
  not_blank(params, :params)
19
31
  super params
@@ -34,6 +46,12 @@ module FinApps
34
46
  super params, path
35
47
  end
36
48
 
49
+ def destroy(id)
50
+ not_blank(id, :session_id)
51
+
52
+ super
53
+ end
54
+
37
55
  private
38
56
 
39
57
  def build_filter(params)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module FinApps
4
- VERSION = '5.0.47'
4
+ VERSION = '5.4.0'
5
5
  end
@@ -118,11 +118,14 @@ RSpec.describe FinApps::REST::Consumers do
118
118
 
119
119
  it 'builds query and sends proper request' do
120
120
  list
121
- url = "#{versioned_api_path}/consumers?"\
122
- 'filter=%7B%22$or%22:%5B%7B%22email%22:%22term%22%7D,' \
123
- '%7B%22first_name%22:%22term%22%7D,'\
124
- '%7B%22last_name%22:%22term%22%7D%5D%7D&page=2&requested=25' \
125
- '&sort=date_created'
121
+ filter = '{"$or":['\
122
+ '{"external_id":"term"},'\
123
+ '{"email":"term"},'\
124
+ '{"first_name":"term"},'\
125
+ '{"last_name":"term"}'\
126
+ ']}'
127
+ query = "?filter=#{filter}&page=2&requested=25&sort=date_created"
128
+ url = "#{versioned_api_path}/consumers#{query}"
126
129
  expect(WebMock).to have_requested(:get, url)
127
130
  end
128
131
 
@@ -138,13 +141,18 @@ RSpec.describe FinApps::REST::Consumers do
138
141
 
139
142
  it 'treats space as start of a new query for first and last name' do
140
143
  list
141
- url = "#{versioned_api_path}/consumers?"\
142
- 'filter=%7B%22$or%22:%5B%7B%22email%22:%22Two%20terms%22%7D,'\
143
- '%7B%22first_name%22:%22Two%20terms%22%7D,'\
144
- '%7B%22last_name%22:%22Two%20terms%22%7D,%7B%22first_name%22:'\
145
- '%22Two%22%7D,%7B%22last_name%22:%22Two%22%7D,'\
146
- '%7B%22first_name%22:%22terms%22%7D,%7B%22last_name%22:'\
147
- '%22terms%22%7D%5D%7D&page=2&requested=25&sort=date_created'
144
+ filter = '{"$or":['\
145
+ '{"external_id":"Two terms"},'\
146
+ '{"email":"Two terms"},'\
147
+ '{"first_name":"Two terms"},'\
148
+ '{"last_name":"Two terms"},'\
149
+ '{"first_name":"Two"},'\
150
+ '{"last_name":"Two"},'\
151
+ '{"first_name":"terms"},'\
152
+ '{"last_name":"terms"}'\
153
+ ']}'
154
+ query = "?filter=#{filter}&page=2&requested=25&sort=date_created"
155
+ url = "#{versioned_api_path}/consumers#{query}"
148
156
  expect(WebMock).to have_requested(:get, url)
149
157
  end
150
158
  end
@@ -52,33 +52,30 @@ RSpec.describe FinApps::REST::DocumentsOrders do
52
52
  "#{versioned_api_path}/documents/orders?"\
53
53
  'filter=%7B%22$or%22:%5B%7B%22applicant.email%22:'\
54
54
  '%22term%22%7D,%7B%22applicant.first_name%22:%22term%22%7D,'\
55
- '%7B%22applicant.last_name%22:'\
56
- '%22term%22%7D,%7B%22reference_no%22:%7B%22$regex%22:%22%5Eterm%22,'\
57
- '%22$options%22:%22i%22%7D%7D%5D,'\
58
- '%22consumer_id%22:%22valid_consumer_id%22%7D&'\
59
- 'page=2&requested=25&sort=tag '
55
+ '%7B%22applicant.last_name%22:%22term%22%7D,'\
56
+ '%7B%22applicant.external_id%22:%22term%22%7D,%7B%22reference_no%22:'\
57
+ '%7B%22$regex%22:%22%5Eterm%22,%22$options%22:%22i%22%7D%7D%5D,'\
58
+ '%22consumer_id%22:%22valid_consumer_id%22%7D&page=2&requested=25&sort=tag'
60
59
 
61
60
  expect(WebMock).to have_requested(:get, url)
62
61
  end
63
62
 
64
63
  context 'with search term containing spaces' do
65
- let(:params) { {"searchTerm": 'Blue Jay', "page": 2} }
64
+ let(:params) { {searchTerm: 'Blue Jay', page: 2} }
66
65
 
67
66
  it 'builds query and sends proper request' do
68
67
  list
69
68
  url =
70
69
  "#{versioned_api_path}/documents/orders?"\
71
70
  'filter=%7B%22$or%22:%5B%7B%22applicant.email%22:'\
72
- '%22Blue%20Jay%22%7D,'\
73
- '%7B%22applicant.first_name%22:%22Blue%20Jay%22%7D,'\
74
- '%7B%22applicant.last_name%22:'\
75
- '%22Blue%20Jay%22%7D,'\
76
- '%7B%22reference_no%22:%7B%22$regex%22:%22%5EBlue%20Jay%22,'\
77
- '%22$options%22:'\
78
- '%22i%22%7D%7D,%7B%22applicant.first_name%22:%22Blue%22%7D,'\
79
- '%7B%22applicant.last_name%22:%22Blue%22%7D,'\
80
- '%7B%22applicant.first_name%22:%22Jay%22%7D,'\
81
- '%7B%22applicant.last_name%22:%22Jay%22%7D%5D%7D&page=2'
71
+ '%22Blue%20Jay%22%7D,%7B%22applicant.first_name%22:'\
72
+ '%22Blue%20Jay%22%7D,%7B%22applicant.last_name%22:'\
73
+ '%22Blue%20Jay%22%7D,%7B%22applicant.external_id%22:'\
74
+ '%22Blue%20Jay%22%7D,%7B%22reference_no%22:%7B%22$regex%22:'\
75
+ '%22%5EBlue%20Jay%22,%22$options%22:%22i%22%7D%7D,'\
76
+ '%7B%22applicant.first_name%22:%22Blue%22%7D,%7B%22'\
77
+ 'applicant.last_name%22:%22Blue%22%7D,%7B%22applicant.first_name%22:'\
78
+ '%22Jay%22%7D,%7B%22applicant.last_name%22:%22Jay%22%7D%5D%7D&page=2'
82
79
 
83
80
  expect(WebMock).to have_requested(:get, url)
84
81
  end
@@ -174,17 +171,17 @@ RSpec.describe FinApps::REST::DocumentsOrders do
174
171
  context 'with valid params' do
175
172
  let(:params) do
176
173
  {
177
- "applicant": {
178
- "email": 'validemail@financialapps.com',
179
- "first_name": 'Emily',
180
- "last_name": 'Macs',
181
- "role": 'patient'
174
+ applicant: {
175
+ email: 'validemail@financialapps.com',
176
+ first_name: 'Emily',
177
+ last_name: 'Macs',
178
+ role: 'patient'
182
179
  },
183
- "esign_documents": [
180
+ esign_documents: [
184
181
  'temp-id'
185
182
  ],
186
- "reference_no": 'REFNO',
187
- "tag": 'new'
183
+ reference_no: 'REFNO',
184
+ tag: 'new'
188
185
  }
189
186
  end
190
187
 
@@ -200,13 +197,13 @@ RSpec.describe FinApps::REST::DocumentsOrders do
200
197
  context 'with invalid params' do
201
198
  let(:params) do
202
199
  {
203
- "applicant": {
204
- "email": 'validemail@financialapps.com',
205
- "first_name": 'Emily',
206
- "last_name": 'Macs',
207
- "role": 'patient'
200
+ applicant: {
201
+ email: 'validemail@financialapps.com',
202
+ first_name: 'Emily',
203
+ last_name: 'Macs',
204
+ role: 'patient'
208
205
  },
209
- "reference_no": 'REFNO'
206
+ reference_no: 'REFNO'
210
207
  }
211
208
  end
212
209
 
@@ -236,7 +233,7 @@ RSpec.describe FinApps::REST::DocumentsOrders do
236
233
  let(:id) { :valid_order_id }
237
234
 
238
235
  context 'with valid params' do
239
- let(:params) { {"tag": 'pending'} }
236
+ let(:params) { {tag: 'pending'} }
240
237
 
241
238
  it_behaves_like 'an API request'
242
239
  it_behaves_like 'a successful request'
@@ -244,7 +241,7 @@ RSpec.describe FinApps::REST::DocumentsOrders do
244
241
  end
245
242
 
246
243
  context 'with invalid params' do
247
- let(:params) { {"tag": 'invalid'} }
244
+ let(:params) { {tag: 'invalid'} }
248
245
 
249
246
  it_behaves_like 'an API request'
250
247
  it('results is nil') { expect(results).to be_nil }
@@ -6,12 +6,12 @@ require 'rest/api_request'
6
6
  RSpec.describe FinApps::REST::Screenings do
7
7
  include SpecHelpers::Client
8
8
 
9
+ let(:results) { subject[0] }
10
+ let(:error_messages) { subject[1] }
11
+
9
12
  describe '#list' do
10
13
  subject(:list) { described_class.new(client).list(params) }
11
14
 
12
- let(:results) { list[0] }
13
- let(:error_messages) { list[1] }
14
-
15
15
  context 'with valid params' do
16
16
  let(:params) do
17
17
  {
@@ -76,12 +76,26 @@ RSpec.describe FinApps::REST::Screenings do
76
76
  end
77
77
  end
78
78
 
79
+ describe '#tenant_schemas' do
80
+ subject(:tenant_schemas) { described_class.new(client).tenant_schemas }
81
+
82
+ it_behaves_like 'an API request'
83
+ it_behaves_like 'a successful request'
84
+ it 'performs a get and returns the response' do
85
+ expect(results[0]).to have_key(:external_url)
86
+ end
87
+
88
+ it 'sends proper request' do
89
+ tenant_schemas
90
+ url = "#{versioned_api_path}/schemas"
91
+
92
+ expect(WebMock).to have_requested(:get, url)
93
+ end
94
+ end
95
+
79
96
  describe '#show' do
80
97
  subject(:show) { described_class.new(client).show(id) }
81
98
 
82
- let(:results) { show[0] }
83
- let(:error_messages) { show[1] }
84
-
85
99
  context 'with valid id' do
86
100
  let(:id) { :valid_id }
87
101
 
@@ -106,19 +120,43 @@ RSpec.describe FinApps::REST::Screenings do
106
120
  end
107
121
  end
108
122
 
123
+ describe '#last' do
124
+ subject(:last) { described_class.new(client).last(consumer_id) }
125
+
126
+ context 'with valid consumer_id' do
127
+ let(:consumer_id) { :valid_consumer_id }
128
+
129
+ it_behaves_like 'an API request'
130
+ it_behaves_like 'a successful request'
131
+ it('results have an :s_id node') do
132
+ expect(results).to have_key(:s_id)
133
+ end
134
+ end
135
+
136
+ context 'with invalid consumer_id' do
137
+ let(:consumer_id) { :invalid_consumer_id }
138
+
139
+ it { expect(results).to be_nil }
140
+ it { expect(error_messages).not_to be_empty }
141
+ end
142
+
143
+ context 'when missing consumer_id' do
144
+ let(:consumer_id) { nil }
145
+
146
+ it_behaves_like 'a request that raises an error'
147
+ end
148
+ end
149
+
109
150
  describe '#create' do
110
151
  subject(:create) { described_class.new(client).create(params) }
111
152
 
112
- let(:results) { create[0] }
113
- let(:error_messages) { create[1] }
114
-
115
153
  context 'with valid params' do
116
154
  let(:params) do
117
155
  {
118
- "email": 'validemail@financialapps.com',
119
- "first_name": 'Geo',
120
- "last_name": 'Metric',
121
- "public_id": '1234'
156
+ email: 'validemail@financialapps.com',
157
+ first_name: 'Geo',
158
+ last_name: 'Metric',
159
+ public_id: '1234'
122
160
  }
123
161
  end
124
162
 
@@ -132,7 +170,7 @@ RSpec.describe FinApps::REST::Screenings do
132
170
  end
133
171
 
134
172
  context 'with invalid params' do
135
- let(:params) { {"params": 'invalid'} }
173
+ let(:params) { {params: 'invalid'} }
136
174
 
137
175
  it { expect { create }.not_to raise_error }
138
176
  it('results is nil') { expect(results).to be_nil }
@@ -153,14 +191,12 @@ RSpec.describe FinApps::REST::Screenings do
153
191
  subject(:update) { described_class.new(client).update(id, params) }
154
192
 
155
193
  let(:params) { {} }
156
- let(:results) { update[0] }
157
- let(:error_messages) { update[1] }
158
194
 
159
195
  context 'with valid session id' do
160
196
  let(:id) { :valid_id }
161
197
 
162
198
  context 'with valid params' do
163
- let(:params) { {"question_id": '1234'} }
199
+ let(:params) { {question_id: '1234'} }
164
200
 
165
201
  it_behaves_like 'an API request'
166
202
  it_behaves_like 'a successful request'
@@ -170,7 +206,7 @@ RSpec.describe FinApps::REST::Screenings do
170
206
  end
171
207
 
172
208
  context 'with invalid params' do
173
- let(:params) { {"question_id": 'invalid'} }
209
+ let(:params) { {question_id: 'invalid'} }
174
210
 
175
211
  it_behaves_like 'an API request'
176
212
  it('results is nil') { expect(results).to be_nil }
@@ -183,7 +219,7 @@ RSpec.describe FinApps::REST::Screenings do
183
219
 
184
220
  context 'with invalid session id' do
185
221
  let(:id) { :invalid_id }
186
- let(:params) { {"question_id": '1234'} }
222
+ let(:params) { {question_id: '1234'} }
187
223
 
188
224
  it_behaves_like 'an API request'
189
225
  it('results is nil') { expect(results).to be_nil }
@@ -195,4 +231,38 @@ RSpec.describe FinApps::REST::Screenings do
195
231
  end
196
232
  end
197
233
  end
234
+
235
+ describe '#destroy' do
236
+ subject(:destroy) { described_class.new(client).destroy(id) }
237
+
238
+ context 'with valid session id' do
239
+ let(:id) { :valid_id }
240
+
241
+ it_behaves_like 'an API request'
242
+ it_behaves_like 'a successful request'
243
+ it('results is nil') { expect(results).to be_nil }
244
+ it('error_messages is empty') { expect(error_messages).to be_empty }
245
+ end
246
+
247
+ context 'when missing session id' do
248
+ let(:id) { nil }
249
+
250
+ it_behaves_like 'a request that raises an error'
251
+ end
252
+
253
+ context 'with invalid session id' do
254
+ let(:id) { :invalid_id }
255
+
256
+ it_behaves_like 'an API request'
257
+ it('results is nil') { expect(results).to be_nil }
258
+
259
+ it('error_messages is not empty') do
260
+ expect(error_messages).not_to be_empty
261
+ end
262
+
263
+ it('error messages array is populated') do
264
+ expect(error_messages.first.downcase).to eq('session not found')
265
+ end
266
+ end
267
+ end
198
268
  end
@@ -2,9 +2,9 @@
2
2
 
3
3
  require 'sinatra/base'
4
4
  require_relative 'documents_uploads_routes'
5
+ require_relative 'screenings_routes'
5
6
 
6
7
  module Fake
7
- # rubocop:disable Metrics/ClassLength
8
8
  # the FakeApi class is used to mock API requests while testing.
9
9
  class FakeApi < Sinatra::Base
10
10
  def self.version
@@ -278,33 +278,7 @@ module Fake
278
278
  get("/#{version}/documents/upload_types") { json_response 200, 'upload_types.json' }
279
279
 
280
280
  # screenings
281
- get("/#{version}/screenings") { json_response 200, 'screening_list.json' }
282
- get("/#{version}/screenings/invalid_id/resume") do
283
- json_response 404, 'resource_not_found.json'
284
- end
285
- get("/#{version}/screenings/valid_id/resume") { json_response 200, 'screening.json' }
286
- put("/#{version}/screenings/invalid_id") do
287
- json_response 404, 'resource_not_found.json'
288
- end
289
- put("/#{version}/screenings/valid_id") do
290
- request.body.rewind
291
- request_payload = JSON.parse request.body.read
292
- if request_payload['question_id'] == 'invalid'
293
- json_response 400, 'screening_invalid_update.json'
294
- else
295
- json_response 200, 'screening.json'
296
- end
297
- end
298
-
299
- post("/#{version}/screenings") do
300
- request.body.rewind
301
- request_payload = JSON.parse request.body.read
302
- if request_payload.key? 'email'
303
- json_response 201, 'screening.json'
304
- else
305
- json_response 400, 'invalid_request_body.json'
306
- end
307
- end
281
+ include ScreeningsRoutes
308
282
 
309
283
  # consumers
310
284
  get("/#{version}/consumers") do
@@ -528,6 +502,10 @@ module Fake
528
502
 
529
503
  private
530
504
 
505
+ def resource_not_found
506
+ json_response 404, 'resource_not_found.json'
507
+ end
508
+
531
509
  def json_response(response_code, file_name)
532
510
  http_response :json, response_code, file_name
533
511
  end
@@ -546,5 +524,4 @@ module Fake
546
524
  File.open("#{File.dirname(__FILE__)}/fixtures/#{file_name}").read
547
525
  end
548
526
  end
549
- # rubocop:enable Metrics/ClassLength
550
527
  end
@@ -0,0 +1,13 @@
1
+ {
2
+ "s_id": "ee8d7a39-5bf2-4e80-9e03-2f88897c4ebd",
3
+ "date_created": "2021-02-05T21:23:50.368Z",
4
+ "date_modified": "2021-02-05T21:23:50.368Z",
5
+ "consumer": {
6
+ "public_id": "368bf4ac-cd8c-4059-62a7-f19a9d7501df",
7
+ "email": "christopher+1612473370669@financialapps.com",
8
+ "first_name": "Dayna",
9
+ "last_name": "Langosh"
10
+ },
11
+ "operator_id": "5d2afdf9-11fc-425b-704d-d74ca7626de8",
12
+ "progress": 0
13
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "messages": [
3
+ "session not found with consumer id (invalid_consumer_id)"
4
+ ]
5
+ }
@@ -0,0 +1,8 @@
1
+ [
2
+ {
3
+ "id": "6058c9e67d4ee100015d55e2",
4
+ "name": "Florida Family Medicaid Eligibility",
5
+ "description": "Screens applicants for Potential Family Medicaid Eligibility in the State of Florida.",
6
+ "external_url": ""
7
+ }
8
+ ]
@@ -0,0 +1,5 @@
1
+ {
2
+ "messages": [
3
+ "session not found"
4
+ ]
5
+ }
@@ -0,0 +1,77 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Fake
4
+ module ScreeningsRoutes
5
+ class << self
6
+ def included(base)
7
+ resource = "/#{base.version}/screenings"
8
+
9
+ list_routes base, resource
10
+ resume_routes base, resource
11
+ update_routes base, resource
12
+ destroy_routes base, resource
13
+ create_routes base, resource
14
+ end
15
+
16
+ # rubocop:disable Metrics/MethodLength
17
+ def list_routes(base, resource)
18
+ base.get(resource) { json_response 200, 'screening_list.json' }
19
+ base.get(resource.gsub('screenings', 'schemas')) do
20
+ json_response 200, 'screenings/tenant_schemas.json'
21
+ end
22
+ base.get("#{resource}/:consumer_id/consumer") do
23
+ if params[:consumer_id] == 'invalid_consumer_id'
24
+ json_response 404, 'session_not_found.json'
25
+ else
26
+ json_response 200, 'screenings/last_session.json'
27
+ end
28
+ end
29
+ end
30
+ # rubocop:enable Metrics/MethodLength
31
+
32
+ def resume_routes(base, resource)
33
+ base.get("#{resource}/:session_id/resume") do
34
+ return resource_not_found if params[:session_id] == 'invalid_id'
35
+
36
+ json_response 200, 'screening.json'
37
+ end
38
+ end
39
+
40
+ def update_routes(base, resource)
41
+ base.put("#{resource}/:session_id") do
42
+ return resource_not_found if params[:session_id] == 'invalid_id'
43
+
44
+ request.body.rewind
45
+ request_payload = JSON.parse request.body.read
46
+ if request_payload['question_id'] == 'invalid'
47
+ json_response 400, 'screening_invalid_update.json'
48
+ else
49
+ json_response 200, 'screening.json'
50
+ end
51
+ end
52
+ end
53
+
54
+ def create_routes(base, resource)
55
+ base.post(resource) do
56
+ request.body.rewind
57
+ request_payload = JSON.parse request.body.read
58
+ if request_payload.key? 'email'
59
+ json_response 201, 'screening.json'
60
+ else
61
+ json_response 400, 'invalid_request_body.json'
62
+ end
63
+ end
64
+ end
65
+
66
+ def destroy_routes(base, resource)
67
+ base.delete("#{resource}/:session_id") do
68
+ if params[:session_id] == 'valid_id'
69
+ status 200
70
+ else
71
+ json_response 404, 'session_not_found.json'
72
+ end
73
+ end
74
+ end
75
+ end
76
+ end
77
+ 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: 5.0.47
4
+ version: 5.4.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-01-19 00:00:00.000000000 Z
11
+ date: 2021-03-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: finapps_core
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '5.0'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 5.0.13
22
+ version: 5.0.15
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '5.0'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 5.0.13
32
+ version: 5.0.15
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: bundler
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -134,122 +134,142 @@ dependencies:
134
134
  name: rspec
135
135
  requirement: !ruby/object:Gem::Requirement
136
136
  requirements:
137
- - - ">="
138
- - !ruby/object:Gem::Version
139
- version: 3.9.0
140
137
  - - "~>"
141
138
  - !ruby/object:Gem::Version
142
- version: '3.9'
139
+ version: '3.10'
140
+ - - ">="
141
+ - !ruby/object:Gem::Version
142
+ version: 3.10.0
143
143
  type: :development
144
144
  prerelease: false
145
145
  version_requirements: !ruby/object:Gem::Requirement
146
146
  requirements:
147
- - - ">="
148
- - !ruby/object:Gem::Version
149
- version: 3.9.0
150
147
  - - "~>"
151
148
  - !ruby/object:Gem::Version
152
- version: '3.9'
149
+ version: '3.10'
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: 3.10.0
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: rubocop
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
- - - ">="
158
- - !ruby/object:Gem::Version
159
- version: 0.87.0
160
157
  - - "~>"
161
158
  - !ruby/object:Gem::Version
162
- version: '0.87'
159
+ version: '1.9'
160
+ - - ">="
161
+ - !ruby/object:Gem::Version
162
+ version: 1.9.1
163
163
  type: :development
164
164
  prerelease: false
165
165
  version_requirements: !ruby/object:Gem::Requirement
166
166
  requirements:
167
- - - ">="
168
- - !ruby/object:Gem::Version
169
- version: 0.87.0
170
167
  - - "~>"
171
168
  - !ruby/object:Gem::Version
172
- version: '0.87'
169
+ version: '1.9'
170
+ - - ">="
171
+ - !ruby/object:Gem::Version
172
+ version: 1.9.1
173
173
  - !ruby/object:Gem::Dependency
174
174
  name: rubocop-performance
175
175
  requirement: !ruby/object:Gem::Requirement
176
176
  requirements:
177
- - - ">="
178
- - !ruby/object:Gem::Version
179
- version: 1.7.0
180
177
  - - "~>"
181
178
  - !ruby/object:Gem::Version
182
- version: '1.7'
179
+ version: '1.9'
180
+ - - ">="
181
+ - !ruby/object:Gem::Version
182
+ version: 1.9.2
183
183
  type: :development
184
184
  prerelease: false
185
185
  version_requirements: !ruby/object:Gem::Requirement
186
186
  requirements:
187
+ - - "~>"
188
+ - !ruby/object:Gem::Version
189
+ version: '1.9'
187
190
  - - ">="
188
191
  - !ruby/object:Gem::Version
189
- version: 1.7.0
192
+ version: 1.9.2
193
+ - !ruby/object:Gem::Dependency
194
+ name: rubocop-rake
195
+ requirement: !ruby/object:Gem::Requirement
196
+ requirements:
190
197
  - - "~>"
191
198
  - !ruby/object:Gem::Version
192
- version: '1.7'
199
+ version: '0.5'
200
+ - - ">="
201
+ - !ruby/object:Gem::Version
202
+ version: 0.5.1
203
+ type: :development
204
+ prerelease: false
205
+ version_requirements: !ruby/object:Gem::Requirement
206
+ requirements:
207
+ - - "~>"
208
+ - !ruby/object:Gem::Version
209
+ version: '0.5'
210
+ - - ">="
211
+ - !ruby/object:Gem::Version
212
+ version: 0.5.1
193
213
  - !ruby/object:Gem::Dependency
194
214
  name: rubocop-rspec
195
215
  requirement: !ruby/object:Gem::Requirement
196
216
  requirements:
197
- - - ">="
198
- - !ruby/object:Gem::Version
199
- version: 1.41.0
200
217
  - - "~>"
201
218
  - !ruby/object:Gem::Version
202
- version: '1.41'
219
+ version: '2.2'
220
+ - - ">="
221
+ - !ruby/object:Gem::Version
222
+ version: 2.2.0
203
223
  type: :development
204
224
  prerelease: false
205
225
  version_requirements: !ruby/object:Gem::Requirement
206
226
  requirements:
207
- - - ">="
208
- - !ruby/object:Gem::Version
209
- version: 1.41.0
210
227
  - - "~>"
211
228
  - !ruby/object:Gem::Version
212
- version: '1.41'
229
+ version: '2.2'
230
+ - - ">="
231
+ - !ruby/object:Gem::Version
232
+ version: 2.2.0
213
233
  - !ruby/object:Gem::Dependency
214
234
  name: sinatra
215
235
  requirement: !ruby/object:Gem::Requirement
216
236
  requirements:
217
237
  - - "~>"
218
238
  - !ruby/object:Gem::Version
219
- version: '2.0'
239
+ version: '2.1'
220
240
  - - ">="
221
241
  - !ruby/object:Gem::Version
222
- version: 2.0.8
242
+ version: 2.1.0
223
243
  type: :development
224
244
  prerelease: false
225
245
  version_requirements: !ruby/object:Gem::Requirement
226
246
  requirements:
227
247
  - - "~>"
228
248
  - !ruby/object:Gem::Version
229
- version: '2.0'
249
+ version: '2.1'
230
250
  - - ">="
231
251
  - !ruby/object:Gem::Version
232
- version: 2.0.8
252
+ version: 2.1.0
233
253
  - !ruby/object:Gem::Dependency
234
254
  name: webmock
235
255
  requirement: !ruby/object:Gem::Requirement
236
256
  requirements:
237
- - - ">="
238
- - !ruby/object:Gem::Version
239
- version: 3.8.0
240
257
  - - "~>"
241
258
  - !ruby/object:Gem::Version
242
- version: '3.8'
259
+ version: '3.11'
260
+ - - ">="
261
+ - !ruby/object:Gem::Version
262
+ version: 3.11.2
243
263
  type: :development
244
264
  prerelease: false
245
265
  version_requirements: !ruby/object:Gem::Requirement
246
266
  requirements:
247
- - - ">="
248
- - !ruby/object:Gem::Version
249
- version: 3.8.0
250
267
  - - "~>"
251
268
  - !ruby/object:Gem::Version
252
- version: '3.8'
269
+ version: '3.11'
270
+ - - ">="
271
+ - !ruby/object:Gem::Version
272
+ version: 3.11.2
253
273
  description: A simple library for communicating with the FinApps REST API.
254
274
  email:
255
275
  - erich@financialapps.com
@@ -260,8 +280,9 @@ extra_rdoc_files:
260
280
  - LICENSE.txt
261
281
  files:
262
282
  - ".codeclimate.yml"
283
+ - ".github/dependabot.yml"
263
284
  - ".github/release-drafter.yml"
264
- - ".github/workflows/main.yaml"
285
+ - ".github/workflows/ci.yaml"
265
286
  - ".github/workflows/release-drafter.yml"
266
287
  - ".github/workflows/release.yml"
267
288
  - ".github/workflows/verify-pr-labeled.yml"
@@ -424,6 +445,10 @@ files:
424
445
  - spec/support/fixtures/screening.json
425
446
  - spec/support/fixtures/screening_invalid_update.json
426
447
  - spec/support/fixtures/screening_list.json
448
+ - spec/support/fixtures/screenings/last_session.json
449
+ - spec/support/fixtures/screenings/session_not_found_with_id.json
450
+ - spec/support/fixtures/screenings/tenant_schemas.json
451
+ - spec/support/fixtures/session_not_found.json
427
452
  - spec/support/fixtures/sign_url.json
428
453
  - spec/support/fixtures/signed_document.pdf
429
454
  - spec/support/fixtures/single_consumer_subscribe_error.json
@@ -439,6 +464,7 @@ files:
439
464
  - spec/support/fixtures/verix/metadata.json
440
465
  - spec/support/fixtures/verix/record/create.json
441
466
  - spec/support/fixtures/verix/record/list.json
467
+ - spec/support/screenings_routes.rb
442
468
  - spec/utils/query_builder_spec.rb
443
469
  - tags
444
470
  homepage: https://github.com/finapps/ruby-client
@@ -466,55 +492,56 @@ required_rubygems_version: !ruby/object:Gem::Requirement
466
492
  - !ruby/object:Gem::Version
467
493
  version: '0'
468
494
  requirements: []
469
- rubygems_version: 3.0.3
495
+ rubygems_version: 3.1.4
470
496
  signing_key:
471
497
  specification_version: 4
472
498
  summary: FinApps REST API ruby client.
473
499
  test_files:
474
- - spec/rest/order_assignments_spec.rb
475
- - spec/rest/documents_uploads_spec.rb
476
- - spec/rest/portfolio_reports_spec.rb
500
+ - spec/spec_helpers/client.rb
501
+ - spec/support/screenings_routes.rb
502
+ - spec/support/fake_api.rb
503
+ - spec/support/documents_uploads_routes.rb
477
504
  - spec/rest/alert_definitions_spec.rb
478
- - spec/rest/order_notifications_spec.rb
479
- - spec/rest/verix/verix_documents_spec.rb
480
- - spec/rest/verix/verix_records_spec.rb
481
- - spec/rest/verix/verix_metadata_spec.rb
482
- - spec/rest/verix/verix_pdf_documents_spec.rb
483
- - spec/rest/api_request.rb
484
- - spec/rest/documents_upload_types_spec.rb
485
- - spec/rest/portfolios_consumers_spec.rb
486
- - spec/rest/esign_templates_spec.rb
487
- - spec/rest/operators_spec.rb
488
- - spec/rest/sessions_spec.rb
489
- - spec/rest/documents_orders_spec.rb
490
- - spec/rest/version_spec.rb
491
- - spec/rest/products_spec.rb
492
- - spec/rest/signed_documents_downloads_spec.rb
493
- - spec/rest/portfolios_available_consumers_spec.rb
494
- - spec/rest/plaid/plaid_account_permissions_spec.rb
495
- - spec/rest/plaid/plaid_accounts_spec.rb
496
- - spec/rest/plaid/plaid_webhooks_spec.rb
497
- - spec/rest/plaid/plaid_consumer_institutions_spec.rb
498
- - spec/rest/plaid/plaid_institution_logos_spec.rb
499
- - spec/rest/tenant_app_settings_spec.rb
505
+ - spec/rest/documents_orders_notifications_spec.rb
500
506
  - spec/rest/order_reports_spec.rb
501
- - spec/rest/orders_spec.rb
502
- - spec/rest/client_spec.rb
503
- - spec/rest/screenings_spec.rb
504
507
  - spec/rest/consumers_spec.rb
505
- - spec/rest/order_statuses_spec.rb
506
- - spec/rest/password_resets_spec.rb
507
- - spec/rest/documents_orders_notifications_spec.rb
508
+ - spec/rest/documents_uploads_spec.rb
509
+ - spec/rest/portfolios_available_consumers_spec.rb
508
510
  - spec/rest/alert_occurrences_spec.rb
511
+ - spec/rest/screenings_spec.rb
509
512
  - spec/rest/portfolios_alerts_spec.rb
513
+ - spec/rest/products_spec.rb
514
+ - spec/rest/tenant_app_settings_spec.rb
515
+ - spec/rest/plaid/plaid_consumer_institutions_spec.rb
516
+ - spec/rest/plaid/plaid_webhooks_spec.rb
517
+ - spec/rest/plaid/plaid_institution_logos_spec.rb
518
+ - spec/rest/plaid/plaid_account_permissions_spec.rb
519
+ - spec/rest/plaid/plaid_accounts_spec.rb
510
520
  - spec/rest/order_refreshes_spec.rb
521
+ - spec/rest/order_assignments_spec.rb
522
+ - spec/rest/order_tokens_spec.rb
523
+ - spec/rest/documents_orders_spec.rb
524
+ - spec/rest/signed_documents_downloads_spec.rb
525
+ - spec/rest/portfolios_consumers_spec.rb
526
+ - spec/rest/version_spec.rb
527
+ - spec/rest/documents_upload_types_spec.rb
528
+ - spec/rest/password_resets_spec.rb
529
+ - spec/rest/order_statuses_spec.rb
530
+ - spec/rest/operators_spec.rb
531
+ - spec/rest/portfolio_reports_spec.rb
532
+ - spec/rest/order_notifications_spec.rb
533
+ - spec/rest/orders_spec.rb
534
+ - spec/rest/esign_templates_spec.rb
535
+ - spec/rest/sessions_spec.rb
536
+ - spec/rest/api_request.rb
537
+ - spec/rest/verix/verix_documents_spec.rb
538
+ - spec/rest/verix/verix_pdf_documents_spec.rb
539
+ - spec/rest/verix/verix_records_spec.rb
540
+ - spec/rest/verix/verix_metadata_spec.rb
511
541
  - spec/rest/tenant_settings_spec.rb
512
542
  - spec/rest/portfolios_spec.rb
513
- - spec/rest/order_tokens_spec.rb
514
- - spec/rest/consumers_portfolios_spec.rb
543
+ - spec/rest/client_spec.rb
515
544
  - spec/rest/operators_password_resets_spec.rb
516
- - spec/support/fake_api.rb
517
- - spec/support/documents_uploads_routes.rb
545
+ - spec/rest/consumers_portfolios_spec.rb
518
546
  - spec/spec_helper.rb
519
547
  - spec/utils/query_builder_spec.rb
520
- - spec/spec_helpers/client.rb