finapps 5.0.34 → 5.0.43

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. checksums.yaml +4 -4
  2. data/.github/release-drafter.yml +49 -0
  3. data/.github/workflows/main.yaml +5 -10
  4. data/.github/workflows/release-drafter.yml +15 -0
  5. data/.github/workflows/release.yml +54 -0
  6. data/.github/workflows/verify-pr-labeled.yml +14 -0
  7. data/.rubocop.yml +5 -12
  8. data/.rubocop_todo.yml +4 -95
  9. data/README.md +1 -0
  10. data/RELEASES.md +20 -0
  11. data/finapps.gemspec +0 -1
  12. data/lib/finapps.rb +2 -0
  13. data/lib/finapps/rest/client.rb +8 -5
  14. data/lib/finapps/rest/documents_orders.rb +1 -1
  15. data/lib/finapps/rest/documents_upload_types.rb +11 -0
  16. data/lib/finapps/rest/documents_uploads.rb +23 -0
  17. data/lib/finapps/rest/orders.rb +26 -15
  18. data/lib/finapps/rest/sessions.rb +10 -8
  19. data/lib/finapps/utils/query_builder.rb +13 -4
  20. data/lib/finapps/version.rb +1 -1
  21. data/spec/rest/alert_definitions_spec.rb +2 -6
  22. data/spec/rest/client_spec.rb +32 -40
  23. data/spec/rest/consumers_spec.rb +221 -220
  24. data/spec/rest/documents_orders_notifications_spec.rb +1 -1
  25. data/spec/rest/documents_orders_spec.rb +1 -1
  26. data/spec/rest/documents_upload_types_spec.rb +21 -0
  27. data/spec/rest/documents_uploads_spec.rb +104 -0
  28. data/spec/rest/operators_password_resets_spec.rb +49 -56
  29. data/spec/rest/operators_spec.rb +167 -178
  30. data/spec/rest/order_notifications_spec.rb +1 -1
  31. data/spec/rest/order_refreshes_spec.rb +2 -5
  32. data/spec/rest/order_reports_spec.rb +14 -14
  33. data/spec/rest/order_statuses_spec.rb +10 -10
  34. data/spec/rest/order_tokens_spec.rb +33 -32
  35. data/spec/rest/orders_spec.rb +78 -64
  36. data/spec/rest/password_resets_spec.rb +28 -28
  37. data/spec/rest/plaid/plaid_consumer_institutions_spec.rb +1 -1
  38. data/spec/rest/portfolios_alerts_spec.rb +3 -3
  39. data/spec/rest/portfolios_consumers_spec.rb +2 -2
  40. data/spec/rest/portfolios_spec.rb +6 -18
  41. data/spec/rest/products_spec.rb +16 -15
  42. data/spec/rest/sessions_spec.rb +61 -60
  43. data/spec/rest/signed_documents_downloads_spec.rb +8 -4
  44. data/spec/rest/verix/verix_documents_spec.rb +2 -2
  45. data/spec/rest/version_spec.rb +4 -4
  46. data/spec/support/fake_api.rb +16 -1
  47. data/spec/support/fixtures/upload_types.json +9 -0
  48. metadata +67 -77
  49. data/lib/tasks/releaser.rake +0 -12
@@ -29,7 +29,7 @@ RSpec.describe FinApps::REST::DocumentsOrdersNotifications do
29
29
  end
30
30
  end
31
31
 
32
- context 'for valid id' do
32
+ context 'with valid id' do
33
33
  let(:create) { subject.create(:valid_id) }
34
34
  let(:results) { create[RESULTS] }
35
35
  let(:error_messages) { create[ERROR_MESSAGES] }
@@ -98,7 +98,7 @@ RSpec.describe FinApps::REST::DocumentsOrders do
98
98
 
99
99
  it_behaves_like 'an API request'
100
100
  it_behaves_like 'a successful request'
101
- it { expect(subject.first[:records]).not_to be_empty }
101
+ it { expect(list.first[:records]).not_to be_empty }
102
102
  end
103
103
 
104
104
  context 'when filtering by closed status ordes' do
@@ -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
@@ -2,84 +2,77 @@
2
2
 
3
3
  require 'spec_helpers/client'
4
4
 
5
- RSpec.describe FinApps::REST::OperatorsPasswordResets,
6
- 'initialized with valid FinApps::Client object' do
7
- include SpecHelpers::Client
8
- subject(:operators_password_resets) do
9
- described_class.new(client)
10
- end
5
+ RSpec.describe FinApps::REST::OperatorsPasswordResets do
6
+ context 'when initialized with valid FinApps::Client object' do
7
+ include SpecHelpers::Client
8
+ subject(:operators_password_resets) do
9
+ described_class.new(client)
10
+ end
11
11
 
12
- describe '#create' do
13
- let(:results) { create[0] }
14
- let(:error_messages) { create[1] }
12
+ describe '#create' do
13
+ let(:results) { create[0] }
14
+ let(:error_messages) { create[1] }
15
15
 
16
- context 'when missing params' do
17
- let(:create) { subject.create(nil) }
16
+ context 'when missing params' do
17
+ let(:create) { subject.create(nil) }
18
18
 
19
- it do
20
- expect { create }.to raise_error(FinAppsCore::MissingArgumentsError)
19
+ it do
20
+ expect { create }.to raise_error(FinAppsCore::MissingArgumentsError)
21
+ end
21
22
  end
22
- end
23
23
 
24
- context 'for invalid params' do
25
- let(:create) { subject.create(params: 'invalid params') }
24
+ context 'with invalid params' do
25
+ let(:create) { subject.create(params: 'invalid params') }
26
26
 
27
- it do
28
- expect { create }.to raise_error(FinAppsCore::InvalidArgumentsError)
27
+ it do
28
+ expect { create }.to raise_error(FinAppsCore::InvalidArgumentsError)
29
+ end
29
30
  end
30
- end
31
-
32
- context 'for valid params' do
33
- let(:create) { subject.create(email: 'valid email') }
34
31
 
35
- it { expect { create }.not_to raise_error }
36
- it('returns an array') { expect(create).to be_a(Array) }
32
+ context 'with valid params' do
33
+ let(:create) { subject.create(email: 'valid email') }
37
34
 
38
- it('performs a post and returns the response') do
39
- expect(results).to have_key(:public_id)
40
- expect(results).to have_key(:token)
41
- expect(results).to have_key(:expiry_date)
35
+ it { expect { create }.not_to raise_error }
36
+ it('returns an array') { expect(create).to be_a(Array) }
37
+ it { expect(results).to have_key(:public_id) }
38
+ it { expect(results).to have_key(:token) }
39
+ it { expect(results).to have_key(:expiry_date) }
40
+ it('returns no error messages') { expect(error_messages).to be_empty }
42
41
  end
43
-
44
- it('returns no error messages') { expect(error_messages).to be_empty }
45
42
  end
46
- end
47
43
 
48
- describe '#update' do
49
- let(:results) { update[0] }
50
- let(:error_messages) { update[1] }
44
+ describe '#update' do
45
+ let(:results) { update[0] }
46
+ let(:error_messages) { update[1] }
51
47
 
52
- context 'when missing params' do
53
- let(:update) { subject.update(nil) }
48
+ context 'when missing params' do
49
+ let(:update) { subject.update(nil) }
54
50
 
55
- it do
56
- expect { update }.to raise_error(FinAppsCore::MissingArgumentsError)
51
+ it do
52
+ expect { update }.to raise_error(FinAppsCore::MissingArgumentsError)
53
+ end
57
54
  end
58
- end
59
55
 
60
- context 'for invalid params' do
61
- let(:update) { subject.update(params: 'invalid') }
56
+ context 'with invalid params' do
57
+ let(:update) { subject.update(params: 'invalid') }
62
58
 
63
- it { expect { update }.not_to raise_error }
64
- it('results is nil') { expect(results).to be_nil }
59
+ it { expect { update }.not_to raise_error }
60
+ it('results is nil') { expect(results).to be_nil }
65
61
 
66
- it('error messages array is populated') do
67
- expect(error_messages.first.downcase).to eq('invalid request body')
62
+ it('error messages array is populated') do
63
+ expect(error_messages.first.downcase).to eq('invalid request body')
64
+ end
68
65
  end
69
- end
70
66
 
71
- context 'for valid params' do
72
- let(:update) { subject.update(params: 'valid') }
67
+ context 'with valid params' do
68
+ let(:update) { subject.update(params: 'valid') }
73
69
 
74
- it { expect { update }.not_to raise_error }
75
- it('returns an array') { expect(update).to be_a(Array) }
76
-
77
- it('performs a post and returns the response') do
78
- expect(results).to have_key(:public_id)
79
- expect(results).to have_key(:role)
70
+ it { expect { update }.not_to raise_error }
71
+ it('returns an array') { expect(update).to be_a(Array) }
72
+ it { expect(results).to have_key(:public_id) }
73
+ it { expect(results).to have_key(:role) }
74
+ it('returns no error messages') { expect(error_messages).to be_empty }
80
75
  end
81
-
82
- it('returns no error messages') { expect(error_messages).to be_empty }
83
76
  end
84
77
  end
85
78
  end
@@ -2,261 +2,250 @@
2
2
 
3
3
  require 'spec_helpers/client'
4
4
 
5
- RSpec.describe FinApps::REST::Operators,
6
- 'initialized with valid FinApps::Client object' do
7
- include SpecHelpers::Client
8
- subject(:operators) { described_class.new(client) }
5
+ 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) }
9
9
 
10
- describe '#list' do
11
- let(:list) { subject.list(params) }
12
- let(:results) { list[0] }
13
- let(:error_messages) { list[1] }
10
+ describe '#list' do
11
+ let(:list) { subject.list(params) }
12
+ let(:results) { list[0] }
13
+ let(:error_messages) { list[1] }
14
14
 
15
- context 'when missing params' do
16
- let(:params) { nil }
15
+ context 'when missing params' do
16
+ let(:params) { nil }
17
17
 
18
- it { expect { list }.not_to raise_error }
18
+ it { expect { list }.not_to raise_error }
19
19
 
20
- it('performs a get and returns the response') do
21
- expect(results).to have_key(:records)
22
- end
23
-
24
- it('returns an array of records') do
25
- expect(results[:records]).to be_a(Array)
26
- end
27
-
28
- it('returns no error messages') { expect(error_messages).to be_empty }
29
- end
20
+ it('performs a get and returns the response') do
21
+ expect(results).to have_key(:records)
22
+ end
30
23
 
31
- context 'when invalid params are provided' do
32
- let(:params) { ['invalid array'] }
24
+ it('returns an array of records') do
25
+ expect(results[:records]).to be_a(Array)
26
+ end
33
27
 
34
- it { expect { list }.to raise_error(FinAppsCore::InvalidArgumentsError) }
35
- end
36
-
37
- context 'when including valid params' do
38
- let(:params) do
39
- {
40
- page: 2,
41
- sort: 'date_created',
42
- requested: 25,
43
- searchTerm: 'term',
44
- role: 2
45
- }
28
+ it('returns no error messages') { expect(error_messages).to be_empty }
46
29
  end
47
30
 
48
- it { expect { list }.not_to raise_error }
31
+ context 'when invalid params are provided' do
32
+ let(:params) { ['invalid array'] }
49
33
 
50
- it('performs a get and returns the response') do
51
- expect(results).to have_key(:records)
34
+ it { expect { list }.to raise_error(FinAppsCore::InvalidArgumentsError) }
52
35
  end
53
36
 
54
- it('returns an array of records') do
55
- expect(results[:records]).to be_a(Array)
56
- end
37
+ context 'when including valid params' do
38
+ let(:params) do
39
+ {
40
+ page: 2,
41
+ sort: 'date_created',
42
+ requested: 25,
43
+ searchTerm: 'term',
44
+ role: 2
45
+ }
46
+ end
57
47
 
58
- it('returns no error messages') { expect(error_messages).to be_empty }
48
+ it { expect { list }.not_to raise_error }
59
49
 
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
68
- end
50
+ it('performs a get and returns the response') do
51
+ expect(results).to have_key(:records)
52
+ end
69
53
 
70
- describe '#show' do
71
- let(:results) { show[0] }
72
- let(:error_messages) { show[1] }
54
+ it('returns an array of records') do
55
+ expect(results[:records]).to be_a(Array)
56
+ end
73
57
 
74
- context 'when missing id' do
75
- let(:show) { subject.show(nil) }
58
+ it('returns no error messages') { expect(error_messages).to be_empty }
76
59
 
77
- it { expect { show }.to raise_error(FinAppsCore::MissingArgumentsError) }
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
78
68
  end
79
69
 
80
- context 'for invalid id' do
81
- let(:show) { subject.show(:invalid_id) }
70
+ describe '#show' do
71
+ let(:results) { show[0] }
72
+ let(:error_messages) { show[1] }
82
73
 
83
- it { expect { show }.not_to raise_error }
84
- it('results is nil') { expect(results).to be_nil }
74
+ context 'when missing id' do
75
+ let(:show) { subject.show(nil) }
85
76
 
86
- it('error messages array is populated') do
87
- expect(error_messages.first.downcase).to eq('resource not found')
77
+ it { expect { show }.to raise_error(FinAppsCore::MissingArgumentsError) }
88
78
  end
89
- end
90
79
 
91
- context 'for valid id' do
92
- let(:show) { subject.show(:valid_id) }
80
+ context 'with invalid id' do
81
+ let(:show) { subject.show(:invalid_id) }
93
82
 
94
- it { expect { show }.not_to raise_error }
95
- it('returns an array') { expect(show).to be_a(Array) }
83
+ it { expect { show }.not_to raise_error }
84
+ it('results is nil') { expect(results).to be_nil }
96
85
 
97
- it('performs a get and returns the response') do
98
- expect(results).to have_key(:public_id)
86
+ it('error messages array is populated') do
87
+ expect(error_messages.first.downcase).to eq('resource not found')
88
+ end
99
89
  end
100
90
 
101
- it('returns no error messages') { expect(error_messages).to be_empty }
102
- end
103
- end
91
+ context 'with valid id' do
92
+ let(:show) { subject.show(:valid_id) }
104
93
 
105
- describe '#create' do
106
- let(:results) { create[0] }
107
- let(:error_messages) { create[1] }
94
+ it { expect { show }.not_to raise_error }
95
+ it('returns an array') { expect(show).to be_a(Array) }
108
96
 
109
- context 'when missing params' do
110
- let(:create) { subject.create(nil) }
97
+ it('performs a get and returns the response') do
98
+ expect(results).to have_key(:public_id)
99
+ end
111
100
 
112
- it do
113
- expect { create }.to raise_error(FinAppsCore::MissingArgumentsError)
101
+ it('returns no error messages') { expect(error_messages).to be_empty }
114
102
  end
115
103
  end
116
104
 
117
- context 'when invalid params are provided' do
118
- let(:create) { subject.create(params: 'invalid') }
105
+ describe '#create' do
106
+ let(:results) { create[0] }
107
+ let(:error_messages) { create[1] }
119
108
 
120
- it { expect { create }.not_to raise_error }
121
- it('results is nil') { expect(results).to be_nil }
109
+ context 'when missing params' do
110
+ let(:create) { subject.create(nil) }
122
111
 
123
- it('error messages array is populated') do
124
- expect(error_messages.first.downcase).to eq('invalid request body')
112
+ it do
113
+ expect { create }.to raise_error(FinAppsCore::MissingArgumentsError)
114
+ end
125
115
  end
126
- end
127
116
 
128
- context 'when valid params are provided' do
129
- let(:create) { subject.create(params: 'valid') }
117
+ context 'when invalid params are provided' do
118
+ let(:create) { subject.create(params: 'invalid') }
130
119
 
131
- it { expect { create }.not_to raise_error }
132
- it('returns an array') { expect(create).to be_a(Array) }
120
+ it { expect { create }.not_to raise_error }
121
+ it('results is nil') { expect(results).to be_nil }
133
122
 
134
- it('performs a post and returns the response') do
135
- expect(results).to have_key(:public_id)
136
- expect(results).to have_key(:role)
123
+ it('error messages array is populated') do
124
+ expect(error_messages.first.downcase).to eq('invalid request body')
125
+ end
137
126
  end
138
127
 
139
- it('returns no error messages') { expect(error_messages).to be_empty }
128
+ context 'when valid params are provided' do
129
+ let(:create) { subject.create(params: 'valid') }
130
+
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
140
137
  end
141
- end
142
138
 
143
- describe '#update' do
144
- let(:results) { update[0] }
145
- let(:error_messages) { update[1] }
139
+ describe '#update' do
140
+ let(:results) { update[0] }
141
+ let(:error_messages) { update[1] }
146
142
 
147
- context 'when missing id' do
148
- let(:update) { subject.update(nil, params: 'params') }
143
+ context 'when missing id' do
144
+ let(:update) { subject.update(nil, params: 'params') }
149
145
 
150
- it do
151
- expect { update }.to raise_error(FinAppsCore::MissingArgumentsError)
146
+ it do
147
+ expect { update }.to raise_error(FinAppsCore::MissingArgumentsError)
148
+ end
152
149
  end
153
- end
154
150
 
155
- context 'when missing params' do
156
- let(:update) { subject.update(:valid_id, nil) }
151
+ context 'when missing params' do
152
+ let(:update) { subject.update(:valid_id, nil) }
157
153
 
158
- it do
159
- expect { update }.to raise_error(FinAppsCore::MissingArgumentsError)
154
+ it do
155
+ expect { update }.to raise_error(FinAppsCore::MissingArgumentsError)
156
+ end
160
157
  end
161
- end
162
158
 
163
- context 'with invalid params' do
164
- let(:update) { subject.update(:invalid_id, params: 'params') }
159
+ context 'with invalid params' do
160
+ let(:update) { subject.update(:invalid_id, params: 'params') }
165
161
 
166
- it { expect { update }.not_to raise_error }
167
- it('results is nil') { expect(results).to be_nil }
162
+ it { expect { update }.not_to raise_error }
163
+ it('results is nil') { expect(results).to be_nil }
168
164
 
169
- it('error messages array is populated') do
170
- expect(error_messages.first.downcase).to eq('resource not found')
165
+ it('error messages array is populated') do
166
+ expect(error_messages.first.downcase).to eq('resource not found')
167
+ end
171
168
  end
172
- end
173
169
 
174
- context 'with valid params' do
175
- let(:update) { subject.update(:valid_id, params: 'valid params') }
170
+ context 'with valid params' do
171
+ let(:update) { subject.update(:valid_id, params: 'valid params') }
176
172
 
177
- it { expect { update }.not_to raise_error }
178
- it('returns an array') { expect(update).to be_a(Array) }
179
-
180
- it('performs a put and returns the response') do
181
- expect(results).to have_key(:email)
182
- expect(results).to have_key(:role)
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 }
183
178
  end
184
-
185
- it('returns no error messages') { expect(error_messages).to be_empty }
186
179
  end
187
- end
188
180
 
189
- describe '#update_password' do
190
- let(:results) { update_password[0] }
191
- let(:error_messages) { update_password[1] }
181
+ describe '#update_password' do
182
+ let(:results) { update_password[0] }
183
+ let(:error_messages) { update_password[1] }
192
184
 
193
- context 'when missing params' do
194
- let(:update_password) { subject.update_password(nil) }
185
+ context 'when missing params' do
186
+ let(:update_password) { subject.update_password(nil) }
195
187
 
196
- it do
197
- expect { update_password }.to raise_error(
198
- FinAppsCore::MissingArgumentsError
199
- )
188
+ it do
189
+ expect { update_password }.to raise_error(
190
+ FinAppsCore::MissingArgumentsError
191
+ )
192
+ end
200
193
  end
201
- end
202
194
 
203
- context 'with invalid params' do
204
- let(:update_password) { subject.update_password(password: 'invalid') }
195
+ context 'with invalid params' do
196
+ let(:update_password) { subject.update_password(password: 'invalid') }
205
197
 
206
- it do
207
- expect { update_password }.to raise_error(
208
- FinAppsCore::InvalidArgumentsError
209
- )
198
+ it do
199
+ expect { update_password }.to raise_error(
200
+ FinAppsCore::InvalidArgumentsError
201
+ )
202
+ end
210
203
  end
211
- end
212
-
213
- context 'with valid params' do
214
- let(:valid_params) do
215
- {password: 'valid password', password_confirm: 'valid_password'}
216
- end
217
- let(:update_password) { subject.update_password(valid_params) }
218
204
 
219
- it { expect { update_password }.not_to raise_error }
220
- it('returns an array') { expect(update_password).to be_a(Array) }
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) }
221
210
 
222
- it('performs a post and returns the response') do
223
- expect(results).to have_key(:public_id)
224
- expect(results).to have_key(:role)
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 }
225
216
  end
226
-
227
- it('returns no error messages') { expect(error_messages).to be_empty }
228
217
  end
229
- end
230
218
 
231
- describe '#destroy' do
232
- let(:results) { destroy[0] }
233
- let(:error_messages) { destroy[1] }
219
+ describe '#destroy' do
220
+ let(:results) { destroy[0] }
221
+ let(:error_messages) { destroy[1] }
234
222
 
235
- context 'when missing id' do
236
- let(:destroy) { subject.destroy(nil) }
223
+ context 'when missing id' do
224
+ let(:destroy) { subject.destroy(nil) }
237
225
 
238
- it do
239
- expect { destroy }.to raise_error(FinAppsCore::MissingArgumentsError)
226
+ it do
227
+ expect { destroy }.to raise_error(FinAppsCore::MissingArgumentsError)
228
+ end
240
229
  end
241
- end
242
230
 
243
- context 'for invalid id' do
244
- let(:destroy) { subject.destroy(:invalid_id) }
231
+ context 'with invalid id' do
232
+ let(:destroy) { subject.destroy(:invalid_id) }
245
233
 
246
- it { expect { destroy }.not_to raise_error }
247
- it('results is nil') { expect(results).to be_nil }
234
+ it { expect { destroy }.not_to raise_error }
235
+ it('results is nil') { expect(results).to be_nil }
248
236
 
249
- it('error messages array is populated') do
250
- expect(error_messages.first.downcase).to eq('resource not found')
237
+ it('error messages array is populated') do
238
+ expect(error_messages.first.downcase).to eq('resource not found')
239
+ end
251
240
  end
252
- end
253
241
 
254
- context 'for valid id' do
255
- let(:destroy) { subject.destroy(:valid_id) }
242
+ context 'with valid id' do
243
+ let(:destroy) { subject.destroy(:valid_id) }
256
244
 
257
- it { expect { destroy }.not_to raise_error }
258
- it('results is nil') { expect(results).to be_nil }
259
- it('error_messages array is empty') { expect(error_messages).to eq([]) }
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
260
249
  end
261
250
  end
262
251
  end