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,251 +1,245 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'spec_helpers/client'
4
+ require 'spec_helpers/api_request'
4
5
 
5
6
  RSpec.describe FinApps::REST::Operators do
6
- context 'when initialized with valid FinApps::Client object' do
7
- include SpecHelpers::Client
8
- subject(:operators) { described_class.new(client) }
7
+ include SpecHelpers::Client
9
8
 
10
- describe '#list' do
11
- let(:list) { subject.list(params) }
12
- let(:results) { list[0] }
13
- let(:error_messages) { list[1] }
9
+ let(:results) { subject[RESULTS] }
10
+ let(:error_messages) { subject[ERROR_MESSAGES] }
14
11
 
15
- context 'when missing params' do
16
- let(:params) { nil }
17
-
18
- it { expect { list }.not_to raise_error }
12
+ describe '#list' do
13
+ subject(:list) { described_class.new(client).list(params) }
19
14
 
20
- it('performs a get and returns the response') do
21
- expect(results).to have_key(:records)
15
+ context 'with valid params' do
16
+ RSpec.shared_examples 'a filtereable GET index request' do |filter|
17
+ it_behaves_like 'an API request'
18
+ it_behaves_like 'a successful request'
19
+ it_behaves_like 'a GET index request'
20
+ it 'builds query and sends proper request' do
21
+ query_string = ("?filter=#{ERB::Util.url_encode filter.to_json}" if filter)
22
+ url = "#{versioned_api_path}/operators#{query_string}"
23
+ list
24
+ expect(WebMock).to have_requested(:get, url)
22
25
  end
26
+ end
23
27
 
24
- it('returns an array of records') do
25
- expect(results[:records]).to be_a(Array)
26
- end
28
+ context 'with searchTerm' do
29
+ let(:params) { {searchTerm: 'le term'} }
30
+
31
+ it_behaves_like 'a filtereable GET index request', {
32
+ '$or': [
33
+ {email: 'le term'},
34
+ {last_name: 'le term'}
35
+ ]
36
+ }
37
+ end
27
38
 
28
- it('returns no error messages') { expect(error_messages).to be_empty }
39
+ context 'with valid role' do
40
+ let(:params) { {role: 1} }
41
+
42
+ it_behaves_like 'a filtereable GET index request', {role: {'$in': [1]}}
29
43
  end
30
44
 
31
- context 'when invalid params are provided' do
32
- let(:params) { ['invalid array'] }
45
+ context 'with empty params' do
46
+ let(:params) { nil }
33
47
 
34
- it { expect { list }.to raise_error(FinAppsCore::InvalidArgumentsError) }
48
+ it_behaves_like 'a filtereable GET index request', nil
35
49
  end
36
50
 
37
- context 'when including valid params' do
51
+ context 'with searchTerm, page, sort, requested and role' do
38
52
  let(:params) do
39
53
  {
54
+ searchTerm: 't',
40
55
  page: 2,
41
56
  sort: 'date_created',
42
57
  requested: 25,
43
- searchTerm: 'term',
44
58
  role: 2
45
59
  }
46
60
  end
47
61
 
48
- it { expect { list }.not_to raise_error }
62
+ it_behaves_like 'an API request'
63
+ it_behaves_like 'a successful request'
64
+ it_behaves_like 'a GET index request'
65
+ it 'builds a full filter and query and sends the request' do
66
+ list
49
67
 
50
- it('performs a get and returns the response') do
51
- expect(results).to have_key(:records)
68
+ filter = {'$or': [{email: 't'}, {last_name: 't'}], role: {'$in': [2]}}
69
+ expect(WebMock).to have_requested(:get, "#{versioned_api_path}/operators"\
70
+ "?filter=#{ERB::Util.url_encode filter.to_json}"\
71
+ '&page=2&requested=25&sort=date_created')
52
72
  end
73
+ end
74
+ end
53
75
 
54
- it('returns an array of records') do
55
- expect(results[:records]).to be_a(Array)
56
- end
76
+ context 'with invalid role' do
77
+ let(:params) { {role: 'ADMIN'} }
57
78
 
58
- it('returns no error messages') { expect(error_messages).to be_empty }
79
+ it { expect { list }.to raise_error(ArgumentError) }
80
+ end
59
81
 
60
- it 'builds query and sends proper request' do
61
- list
62
- url =
63
- "#{versioned_api_path}/operators?filter=%7B%22last_name%22:%22term%22," \
64
- '%22role%22:2%7D&page=2&requested=25&sort=date_created'
65
- expect(WebMock).to have_requested(:get, url)
66
- end
67
- end
82
+ context 'with invalid params' do
83
+ let(:params) { :anything_but_a_hash }
84
+
85
+ it { expect { list }.to raise_error(FinAppsCore::InvalidArgumentsError) }
68
86
  end
87
+ end
69
88
 
70
- describe '#show' do
71
- let(:results) { show[0] }
72
- let(:error_messages) { show[1] }
89
+ RSpec.shared_examples 'a missing id' do
90
+ it { expect { subject }.to raise_error(FinAppsCore::MissingArgumentsError) }
91
+ end
73
92
 
74
- context 'when missing id' do
75
- let(:show) { subject.show(nil) }
93
+ RSpec.shared_examples 'an invalid id' do
94
+ it { expect { subject }.not_to raise_error }
95
+ it('results is nil') { expect(results).to be_nil }
76
96
 
77
- it { expect { show }.to raise_error(FinAppsCore::MissingArgumentsError) }
78
- end
97
+ it('error messages array is populated') do
98
+ expect(error_messages.first.downcase).to eq('resource not found')
99
+ end
100
+ end
79
101
 
80
- context 'with invalid id' do
81
- let(:show) { subject.show(:invalid_id) }
102
+ RSpec.shared_examples 'a missing params' do
103
+ it { expect { subject }.to raise_error(FinAppsCore::MissingArgumentsError) }
104
+ end
82
105
 
83
- it { expect { show }.not_to raise_error }
84
- it('results is nil') { expect(results).to be_nil }
106
+ describe '#show' do
107
+ subject(:show) { described_class.new(client).show(id) }
85
108
 
86
- it('error messages array is populated') do
87
- expect(error_messages.first.downcase).to eq('resource not found')
88
- end
89
- end
109
+ context 'when missing id' do
110
+ let(:id) { nil }
90
111
 
91
- context 'with valid id' do
92
- let(:show) { subject.show(:valid_id) }
112
+ it_behaves_like 'a missing id'
113
+ end
93
114
 
94
- it { expect { show }.not_to raise_error }
95
- it('returns an array') { expect(show).to be_a(Array) }
115
+ context 'with invalid id' do
116
+ let(:id) { :invalid_id }
96
117
 
97
- it('performs a get and returns the response') do
98
- expect(results).to have_key(:public_id)
99
- end
118
+ it_behaves_like 'an invalid id'
119
+ end
120
+
121
+ context 'with valid id' do
122
+ let(:id) { :valid_id }
100
123
 
101
- it('returns no error messages') { expect(error_messages).to be_empty }
124
+ it_behaves_like 'an API request'
125
+ it_behaves_like 'a successful request'
126
+ it('performs a get and returns the response') do
127
+ expect(results).to have_key(:public_id)
102
128
  end
103
129
  end
130
+ end
104
131
 
105
- describe '#create' do
106
- let(:results) { create[0] }
107
- let(:error_messages) { create[1] }
132
+ describe '#create' do
133
+ subject(:create) { described_class.new(client).create(params) }
108
134
 
109
- context 'when missing params' do
110
- let(:create) { subject.create(nil) }
135
+ context 'when missing params' do
136
+ let(:params) { nil }
111
137
 
112
- it do
113
- expect { create }.to raise_error(FinAppsCore::MissingArgumentsError)
114
- end
115
- end
138
+ it_behaves_like 'a missing params'
139
+ end
116
140
 
117
- context 'when invalid params are provided' do
118
- let(:create) { subject.create(params: 'invalid') }
141
+ context 'when invalid params are provided' do
142
+ let(:params) { :invalid }
119
143
 
120
- it { expect { create }.not_to raise_error }
121
- it('results is nil') { expect(results).to be_nil }
144
+ it_behaves_like 'an API request'
145
+ it('results is nil') { expect(results).to be_nil }
122
146
 
123
- it('error messages array is populated') do
124
- expect(error_messages.first.downcase).to eq('invalid request body')
125
- end
147
+ it('error messages array is populated') do
148
+ expect(error_messages.first.downcase).to eq('invalid request body')
126
149
  end
150
+ end
127
151
 
128
- context 'when valid params are provided' do
129
- let(:create) { subject.create(params: 'valid') }
152
+ context 'when valid params are provided' do
153
+ let(:params) { {params: :valid} }
130
154
 
131
- it { expect { create }.not_to raise_error }
132
- it('returns an array') { expect(create).to be_a(Array) }
133
- it { expect(results).to have_key(:public_id) }
134
- it { expect(results).to have_key(:role) }
135
- it('returns no error messages') { expect(error_messages).to be_empty }
136
- end
155
+ it_behaves_like 'an API request'
156
+ it_behaves_like 'a successful request'
157
+ it { expect(results).to have_key(:public_id) }
158
+ it { expect(results).to have_key(:role) }
137
159
  end
160
+ end
138
161
 
139
- describe '#update' do
140
- let(:results) { update[0] }
141
- let(:error_messages) { update[1] }
142
-
143
- context 'when missing id' do
144
- let(:update) { subject.update(nil, params: 'params') }
162
+ describe '#update' do
163
+ subject(:update) { described_class.new(client).update(id, params) }
145
164
 
146
- it do
147
- expect { update }.to raise_error(FinAppsCore::MissingArgumentsError)
148
- end
149
- end
165
+ context 'when missing id' do
166
+ let(:id) { nil }
167
+ let(:params) { {params: :valid} }
150
168
 
151
- context 'when missing params' do
152
- let(:update) { subject.update(:valid_id, nil) }
169
+ it_behaves_like 'a missing id'
170
+ end
153
171
 
154
- it do
155
- expect { update }.to raise_error(FinAppsCore::MissingArgumentsError)
156
- end
157
- end
172
+ context 'when missing params' do
173
+ let(:id) { :id }
174
+ let(:params) { nil }
158
175
 
159
- context 'with invalid params' do
160
- let(:update) { subject.update(:invalid_id, params: 'params') }
176
+ it_behaves_like 'a missing params'
177
+ end
161
178
 
162
- it { expect { update }.not_to raise_error }
163
- it('results is nil') { expect(results).to be_nil }
179
+ context 'with invalid id' do
180
+ let(:id) { :invalid_id }
181
+ let(:params) { {params: :valid} }
164
182
 
165
- it('error messages array is populated') do
166
- expect(error_messages.first.downcase).to eq('resource not found')
167
- end
168
- end
183
+ it_behaves_like 'an invalid id'
184
+ end
169
185
 
170
- context 'with valid params' do
171
- let(:update) { subject.update(:valid_id, params: 'valid params') }
186
+ context 'with valid params' do
187
+ let(:id) { :valid_id }
188
+ let(:params) { {params: :valid} }
172
189
 
173
- it { expect { update }.not_to raise_error }
174
- it('returns an array') { expect(update).to be_a(Array) }
175
- it { expect(results).to have_key(:email) }
176
- it { expect(results).to have_key(:role) }
177
- it('returns no error messages') { expect(error_messages).to be_empty }
178
- end
190
+ it_behaves_like 'an API request'
191
+ it_behaves_like 'a successful request'
192
+ it { expect(results).to have_key(:email) }
193
+ it { expect(results).to have_key(:role) }
179
194
  end
195
+ end
180
196
 
181
- describe '#update_password' do
182
- let(:results) { update_password[0] }
183
- let(:error_messages) { update_password[1] }
197
+ describe '#update_password' do
198
+ subject(:update_password) { described_class.new(client).update_password(params) }
184
199
 
185
- context 'when missing params' do
186
- let(:update_password) { subject.update_password(nil) }
200
+ context 'when missing params' do
201
+ let(:params) { nil }
187
202
 
188
- it do
189
- expect { update_password }.to raise_error(
190
- FinAppsCore::MissingArgumentsError
191
- )
192
- end
193
- end
203
+ it_behaves_like 'a missing params'
204
+ end
194
205
 
195
- context 'with invalid params' do
196
- let(:update_password) { subject.update_password(password: 'invalid') }
206
+ context 'with invalid params' do
207
+ let(:params) { {foo: :bar} }
197
208
 
198
- it do
199
- expect { update_password }.to raise_error(
200
- FinAppsCore::InvalidArgumentsError
201
- )
202
- end
203
- end
209
+ it { expect { update_password }.to raise_error(FinAppsCore::InvalidArgumentsError) }
210
+ end
204
211
 
205
- context 'with valid params' do
206
- let(:valid_params) do
207
- {password: 'valid password', password_confirm: 'valid_password'}
208
- end
209
- let(:update_password) { subject.update_password(valid_params) }
212
+ context 'with valid params' do
213
+ let(:params) { {password: 'valid', password_confirm: 'valid'} }
210
214
 
211
- it { expect { update_password }.not_to raise_error }
212
- it('returns an array') { expect(update_password).to be_a(Array) }
213
- it { expect(results).to have_key(:public_id) }
214
- it { expect(results).to have_key(:role) }
215
- it('returns no error messages') { expect(error_messages).to be_empty }
216
- end
215
+ it_behaves_like 'an API request'
216
+ it_behaves_like 'a successful request'
217
+ it { expect(results).to have_key(:email) }
218
+ it { expect(results).to have_key(:role) }
217
219
  end
220
+ end
218
221
 
219
- describe '#destroy' do
220
- let(:results) { destroy[0] }
221
- let(:error_messages) { destroy[1] }
222
-
223
- context 'when missing id' do
224
- let(:destroy) { subject.destroy(nil) }
222
+ describe '#destroy' do
223
+ subject(:destroy) { described_class.new(client).destroy(id) }
225
224
 
226
- it do
227
- expect { destroy }.to raise_error(FinAppsCore::MissingArgumentsError)
228
- end
229
- end
225
+ context 'when missing id' do
226
+ let(:id) { nil }
230
227
 
231
- context 'with invalid id' do
232
- let(:destroy) { subject.destroy(:invalid_id) }
228
+ it_behaves_like 'a missing id'
229
+ end
233
230
 
234
- it { expect { destroy }.not_to raise_error }
235
- it('results is nil') { expect(results).to be_nil }
231
+ context 'with invalid id' do
232
+ let(:id) { :invalid_id }
236
233
 
237
- it('error messages array is populated') do
238
- expect(error_messages.first.downcase).to eq('resource not found')
239
- end
240
- end
234
+ it_behaves_like 'an invalid id'
235
+ end
241
236
 
242
- context 'with valid id' do
243
- let(:destroy) { subject.destroy(:valid_id) }
237
+ context 'with valid id' do
238
+ let(:id) { :valid_id }
244
239
 
245
- it { expect { destroy }.not_to raise_error }
246
- it('results is nil') { expect(results).to be_nil }
247
- it('error_messages array is empty') { expect(error_messages).to eq([]) }
248
- end
240
+ it_behaves_like 'an API request'
241
+ it_behaves_like 'a successful request'
242
+ it('results is nil') { expect(results).to be_nil }
249
243
  end
250
244
  end
251
245
  end
@@ -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::PlaidAccountPermissions 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::PlaidAccounts 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::PlaidConsumerInstitutions 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::PlaidInstitutionLogos 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::PlaidWebhooks do
7
7
  include SpecHelpers::Client
@@ -0,0 +1,131 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helpers/client'
4
+ require 'spec_helpers/api_request'
5
+
6
+ RSpec.describe FinApps::REST::ScreeningMetadatas do
7
+ include SpecHelpers::Client
8
+
9
+ let(:results) { subject[RESULTS] }
10
+ let(:error_messages) { subject[ERROR_MESSAGES] }
11
+
12
+ describe '#show' do
13
+ subject(:show_metadata) { described_class.new(client).show(id, key) }
14
+
15
+ context 'with valid params' do
16
+ let(:id) { :session_id }
17
+ let(:key) { :key }
18
+
19
+ before { show_metadata }
20
+
21
+ it 'sends proper request' do
22
+ url = "#{versioned_api_path}/screenings/session_id/meta/key"
23
+
24
+ expect(WebMock).to have_requested(:get, url)
25
+ end
26
+
27
+ it_behaves_like 'an API request'
28
+ it_behaves_like 'a successful request'
29
+ end
30
+
31
+ context 'with invalid params' do
32
+ let(:id) { :something_else }
33
+ let(:key) { :key }
34
+
35
+ it_behaves_like 'an API request'
36
+ it('results is nil') { expect(results).to be_nil }
37
+
38
+ it('error messages array is populated') do
39
+ expect(error_messages.first.downcase).to eq('the screening id was not found')
40
+ end
41
+ end
42
+
43
+ context 'with missing params' do
44
+ let(:id) { nil }
45
+ let(:key) { nil }
46
+
47
+ it_behaves_like 'a request that raises an error'
48
+ end
49
+ end
50
+
51
+ describe '#create' do
52
+ subject(:create_metadata) { described_class.new(client).create(id, key, value) }
53
+
54
+ context 'with valid params' do
55
+ let(:id) { :session_id }
56
+ let(:key) { :key }
57
+ let(:value) { :value }
58
+
59
+ before { create_metadata }
60
+
61
+ it 'sends proper request' do
62
+ url = "#{versioned_api_path}/screenings/session_id/meta"
63
+
64
+ expect(WebMock).to have_requested(:post, url)
65
+ end
66
+
67
+ it_behaves_like 'an API request'
68
+ it_behaves_like 'a successful request'
69
+ end
70
+
71
+ context 'with invalid params' do
72
+ let(:id) { :something_else }
73
+ let(:key) { :key }
74
+ let(:value) { :value }
75
+
76
+ it_behaves_like 'an API request'
77
+ it('results is nil') { expect(results).to be_nil }
78
+
79
+ it('error messages array is populated') do
80
+ expect(error_messages.first.downcase).to eq('the screening id was not found')
81
+ end
82
+ end
83
+
84
+ context 'with missing params' do
85
+ let(:id) { nil }
86
+ let(:key) { nil }
87
+ let(:value) { nil }
88
+
89
+ it_behaves_like 'a request that raises an error'
90
+ end
91
+ end
92
+
93
+ describe '#destroy' do
94
+ subject(:destroy_metadata) { described_class.new(client).destroy(id, key) }
95
+
96
+ context 'with valid params' do
97
+ let(:id) { :session_id }
98
+ let(:key) { :key }
99
+
100
+ before { destroy_metadata }
101
+
102
+ it 'sends proper request' do
103
+ url = "#{versioned_api_path}/screenings/session_id/meta/key"
104
+
105
+ expect(WebMock).to have_requested(:delete, url)
106
+ end
107
+
108
+ it_behaves_like 'an API request'
109
+ it_behaves_like 'a successful request'
110
+ end
111
+
112
+ context 'with invalid params' do
113
+ let(:id) { :something_else }
114
+ let(:key) { :key }
115
+
116
+ it_behaves_like 'an API request'
117
+ it('results is nil') { expect(results).to be_nil }
118
+
119
+ it('error messages array is populated') do
120
+ expect(error_messages.first.downcase).to eq('the screening id was not found')
121
+ end
122
+ end
123
+
124
+ context 'with missing params' do
125
+ let(:id) { nil }
126
+ let(:key) { nil }
127
+
128
+ it_behaves_like 'a request that raises an error'
129
+ end
130
+ end
131
+ end
@@ -1,13 +1,13 @@
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::Screenings do
7
7
  include SpecHelpers::Client
8
8
 
9
- let(:results) { subject[0] }
10
- let(:error_messages) { subject[1] }
9
+ let(:results) { subject[RESULTS] }
10
+ let(:error_messages) { subject[ERROR_MESSAGES] }
11
11
 
12
12
  describe '#list' do
13
13
  subject(:list) { described_class.new(client).list(params) }
@@ -15,14 +15,10 @@ RSpec.describe FinApps::REST::Screenings do
15
15
  context 'with valid params' do
16
16
  let(:params) { {} }
17
17
 
18
- RSpec.shared_examples 'a GET request' do
19
- it { expect(results).to have_key(:records) }
20
- end
21
-
22
18
  RSpec.shared_examples 'a correct query builder' do |filter|
23
19
  it_behaves_like 'an API request'
24
20
  it_behaves_like 'a successful request'
25
- it_behaves_like 'a GET request'
21
+ it_behaves_like 'a GET index request'
26
22
  it 'builds query and sends proper request' do
27
23
  list
28
24
  encoded_filter = ERB::Util.url_encode filter.to_json
@@ -68,13 +64,13 @@ RSpec.describe FinApps::REST::Screenings do
68
64
  end
69
65
 
70
66
  context 'with invalid progress' do
71
- let(:params) { {progress: 'xyz'} }
67
+ let(:params) { {progress: 'not-an-integer'} }
72
68
 
73
- it_behaves_like 'a correct query builder', {progress: 0}
69
+ it { expect { list }.to raise_error(ArgumentError) }
74
70
  end
75
71
 
76
72
  context 'with valid progress' do
77
- let(:params) { {progress: 10} }
73
+ let(:params) { {progress: '10'} }
78
74
 
79
75
  it_behaves_like 'a correct query builder', {progress: 10}
80
76
  end
@@ -107,7 +103,7 @@ RSpec.describe FinApps::REST::Screenings do
107
103
 
108
104
  it_behaves_like 'an API request'
109
105
  it_behaves_like 'a successful request'
110
- it_behaves_like 'a GET request'
106
+ it_behaves_like 'a GET index request'
111
107
  end
112
108
  end
113
109
 
@@ -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::SignedDocumentsDownloads do
7
7
  include SpecHelpers::Client