kalibro_client 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +1 -1
- data/features/kalibro_configuration/all.feature +6 -6
- data/features/kalibro_configuration/creation.feature +5 -5
- data/features/kalibro_configuration/destroy.feature +6 -6
- data/features/kalibro_configuration/metric_configurations.feature +4 -4
- data/features/{range → kalibro_range}/destroy.feature +2 -2
- data/features/{range → kalibro_range}/exists.feature +2 -2
- data/features/{range → kalibro_range}/find.feature +2 -2
- data/features/{range → kalibro_range}/ranges_of.feature +4 -4
- data/features/{range → kalibro_range}/save.feature +2 -2
- data/features/kalibro_range/update.feature +54 -0
- data/features/metric_configuration/creation.feature +2 -2
- data/features/metric_configuration/destroy.feature +2 -2
- data/features/metric_configuration/find.feature +2 -2
- data/features/metric_configuration/metric_configurations_of.feature +8 -8
- data/features/metric_result/descendant_values.feature +2 -2
- data/features/metric_result/history_of.feature +2 -2
- data/features/metric_result/metric_results_of.feature +2 -2
- data/features/module_result/children.feature +2 -2
- data/features/module_result/find.feature +2 -2
- data/features/module_result/history_of.feature +2 -2
- data/features/processing/first_processing_after.feature +2 -2
- data/features/processing/first_processing_of.feature +2 -2
- data/features/processing/has_processing.feature +2 -2
- data/features/processing/has_processing_after.feature +2 -2
- data/features/processing/has_processing_before.feature +2 -2
- data/features/processing/has_ready_processing.feature +2 -2
- data/features/processing/last_processing_before.feature +2 -2
- data/features/processing/last_processing_of.feature +2 -2
- data/features/processing/last_processing_state_of.feature +2 -2
- data/features/processing/last_ready_processing_of.feature +2 -2
- data/features/processing/processing_of.feature +4 -4
- data/features/processing/processing_with_date_of.feature +4 -4
- data/features/project/update.feature +13 -0
- data/features/repository/all.feature +1 -1
- data/features/repository/cancel_processing.feature +1 -1
- data/features/repository/destroy.feature +1 -1
- data/features/repository/exists.feature +1 -1
- data/features/repository/find.feature +1 -1
- data/features/repository/of.feature +1 -1
- data/features/repository/process.feature +2 -2
- data/features/step_definitions/kalibro_configuration_steps.rb +40 -0
- data/features/step_definitions/metric_configuration_steps.rb +9 -9
- data/features/step_definitions/module_result_steps.rb +1 -1
- data/features/step_definitions/project_steps.rb +12 -0
- data/features/step_definitions/range_steps.rb +25 -1
- data/features/step_definitions/reading_steps.rb +1 -1
- data/features/step_definitions/repository_steps.rb +1 -1
- data/lib/kalibro_client/entities/base.rb +53 -19
- data/lib/kalibro_client/entities/configurations/base.rb +4 -1
- data/lib/kalibro_client/entities/configurations/kalibro_configuration.rb +1 -1
- data/lib/kalibro_client/entities/configurations/kalibro_range.rb +8 -8
- data/lib/kalibro_client/entities/configurations/metric_configuration.rb +7 -5
- data/lib/kalibro_client/entities/configurations/reading.rb +4 -4
- data/lib/kalibro_client/entities/configurations/reading_group.rb +4 -0
- data/lib/kalibro_client/entities/processor/base.rb +2 -1
- data/lib/kalibro_client/entities/processor/kalibro_module.rb +1 -0
- data/lib/kalibro_client/entities/processor/metric_collector_details.rb +7 -2
- data/lib/kalibro_client/entities/processor/metric_result.rb +9 -10
- data/lib/kalibro_client/entities/processor/module_result.rb +10 -2
- data/lib/kalibro_client/entities/processor/processing.rb +26 -10
- data/lib/kalibro_client/entities/processor/project.rb +4 -0
- data/lib/kalibro_client/entities/processor/repository.rb +63 -4
- data/lib/kalibro_client/helpers/date_attributes.rb +11 -0
- data/lib/kalibro_client/helpers/request_methods.rb +9 -0
- data/lib/kalibro_client/version.rb +1 -1
- data/spec/entities/base_spec.rb +106 -24
- data/spec/entities/configurations/kalibro_configuration_spec.rb +8 -8
- data/spec/entities/configurations/kalibro_range_spec.rb +18 -24
- data/spec/entities/configurations/metric_configuration_spec.rb +22 -23
- data/spec/entities/configurations/reading_group_spec.rb +27 -0
- data/spec/entities/configurations/reading_spec.rb +15 -7
- data/spec/entities/processor/metric_collector_details_spec.rb +19 -7
- data/spec/entities/processor/metric_result_spec.rb +40 -54
- data/spec/entities/processor/module_result_spec.rb +52 -3
- data/spec/entities/processor/processing_spec.rb +35 -92
- data/spec/entities/processor/project_spec.rb +52 -5
- data/spec/entities/processor/repository_spec.rb +255 -5
- data/spec/factories/kalibro_configurations.rb +3 -3
- data/spec/factories/kalibro_ranges.rb +9 -3
- data/spec/factories/metrics.rb +1 -1
- data/spec/factories/readings.rb +1 -1
- data/spec/factories/repositories.rb +1 -1
- data/spec/helpers/date_attributes_spec.rb +30 -0
- metadata +21 -14
- data/features/step_definitions/configuration_steps.rb +0 -40
data/spec/entities/base_spec.rb
CHANGED
@@ -104,37 +104,105 @@ describe KalibroClient::Entities::Base do
|
|
104
104
|
|
105
105
|
describe 'to_objects_array' do
|
106
106
|
it 'should convert [{}] to [Model]' do
|
107
|
-
expect(KalibroClient::Entities::Base.to_objects_array({})).to eq([FactoryGirl.build(:model)])
|
107
|
+
expect(KalibroClient::Entities::Base.to_objects_array({})).to eq([FactoryGirl.build(:model)])
|
108
108
|
end
|
109
109
|
|
110
110
|
it 'should remain an array if it already is one' do
|
111
111
|
object = Object.new
|
112
|
-
expect(KalibroClient::Entities::Base.to_objects_array([object])).to eq([object])
|
112
|
+
expect(KalibroClient::Entities::Base.to_objects_array([object])).to eq([object])
|
113
113
|
end
|
114
114
|
end
|
115
115
|
|
116
116
|
describe 'save' do
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
117
|
+
context "when it is not persisted" do
|
118
|
+
context "when it doesn't have the method id=" do
|
119
|
+
before :each do
|
120
|
+
KalibroClient::Entities::Base.
|
121
|
+
expects(:request).
|
122
|
+
with('', {base: {}}, :post, '').returns({"base" => {'id' => 42, 'kalibro_errors' => []}})
|
123
|
+
end
|
124
|
+
|
125
|
+
it 'should make a request to save model with id returning false and an error' do
|
126
|
+
expect(subject.save).to be(false)
|
127
|
+
expect(subject.kalibro_errors[0]).to be_a(NoMethodError)
|
128
|
+
end
|
129
|
+
end
|
130
|
+
|
131
|
+
context 'when it has the method id=' do
|
132
|
+
before :each do
|
133
|
+
KalibroClient::Entities::Base.
|
134
|
+
expects(:request).
|
135
|
+
with('', {base: {}}, :post, '').returns({"base" => {'id' => 42, 'kalibro_errors' => []}})
|
136
|
+
KalibroClient::Entities::Base.any_instance.expects(:id=).with(42).returns(42)
|
137
|
+
end
|
138
|
+
|
139
|
+
it 'should make a request to save model with id and return true without errors' do
|
140
|
+
expect(subject.save).to be(true)
|
141
|
+
expect(subject.kalibro_errors).to be_empty
|
142
|
+
end
|
143
|
+
end
|
144
|
+
|
145
|
+
context "when it returns with a kalibro processor error" do
|
146
|
+
before :each do
|
147
|
+
KalibroClient::Entities::Base.
|
148
|
+
expects(:request).
|
149
|
+
with('', {base: {}}, :post, '').returns({"errors" => ["Name has already been taken"]})
|
150
|
+
end
|
151
|
+
|
152
|
+
it 'should make a request to save model returning false and a kalibro error' do
|
153
|
+
expect(subject.save).to be(false)
|
154
|
+
expect(subject.kalibro_errors[0]).to eq("Name has already been taken")
|
155
|
+
end
|
156
|
+
end
|
121
157
|
end
|
122
158
|
|
123
|
-
context
|
124
|
-
|
125
|
-
|
126
|
-
|
159
|
+
context 'when it is persisted' do
|
160
|
+
before :each do
|
161
|
+
subject.persisted = true
|
162
|
+
end
|
163
|
+
|
164
|
+
it 'is expected to call the update method' do
|
165
|
+
subject.expects(:update)
|
166
|
+
|
167
|
+
subject.save
|
127
168
|
end
|
128
169
|
end
|
170
|
+
end
|
129
171
|
|
130
|
-
|
172
|
+
describe 'update' do
|
173
|
+
let!(:id) { 42 }
|
174
|
+
|
175
|
+
context 'with valid parameters' do
|
131
176
|
before :each do
|
132
|
-
KalibroClient::Entities::Base.
|
177
|
+
KalibroClient::Entities::Base.
|
178
|
+
expects(:request).
|
179
|
+
with(':id', {base: {}, id: id}, :put, '').returns({"base" => {'id' => id, 'kalibro_errors' => []}})
|
180
|
+
subject.expects(:id).returns(id)
|
181
|
+
subject.expects(:to_hash).returns({})
|
133
182
|
end
|
134
183
|
|
135
|
-
it '
|
136
|
-
expect(subject.
|
137
|
-
|
184
|
+
it 'is expect to return true' do
|
185
|
+
expect(subject.update).to be_truthy
|
186
|
+
end
|
187
|
+
end
|
188
|
+
|
189
|
+
context 'with invalid parameters' do
|
190
|
+
before :each do
|
191
|
+
KalibroClient::Entities::Base.
|
192
|
+
expects(:request).
|
193
|
+
with(':id', {base: {}, id: id}, :put, '').returns({"errors" => ["Error"]})
|
194
|
+
subject.expects(:id).returns(id)
|
195
|
+
subject.expects(:to_hash).returns({})
|
196
|
+
end
|
197
|
+
|
198
|
+
it 'is expect to return false' do
|
199
|
+
expect(subject.update).to be_falsey
|
200
|
+
end
|
201
|
+
|
202
|
+
it 'is expect fill the errors' do
|
203
|
+
subject.update
|
204
|
+
|
205
|
+
expect(subject.kalibro_errors).to_not be_empty
|
138
206
|
end
|
139
207
|
end
|
140
208
|
end
|
@@ -175,7 +243,7 @@ describe KalibroClient::Entities::Base do
|
|
175
243
|
subject.expects(:variable_names).returns(["answer"])
|
176
244
|
subject.expects(:send).with("answer").returns(42)
|
177
245
|
another_model.expects(:send).with("answer").returns(41)
|
178
|
-
end
|
246
|
+
end
|
179
247
|
|
180
248
|
it 'should return false' do
|
181
249
|
expect(subject).not_to eq(another_model)
|
@@ -248,25 +316,39 @@ describe KalibroClient::Entities::Base do
|
|
248
316
|
context 'when it gets successfully destroyed' do
|
249
317
|
before :each do
|
250
318
|
subject.expects(:id).at_least_once.returns(42)
|
251
|
-
KalibroClient::Entities::Base.expects(:request).with(':id',{id: subject.id}, :delete, '')
|
319
|
+
KalibroClient::Entities::Base.expects(:request).with(':id',{id: subject.id}, :delete, '').returns({})
|
252
320
|
end
|
253
321
|
|
254
|
-
it 'should remain with the errors array empty' do
|
322
|
+
it 'should remain with the errors array empty and not persisted' do
|
255
323
|
subject.destroy
|
256
324
|
expect(subject.kalibro_errors).to be_empty
|
325
|
+
expect(subject.persisted?).to be_falsey
|
257
326
|
end
|
258
327
|
end
|
259
328
|
|
260
329
|
context 'when the destruction fails' do
|
261
|
-
|
262
|
-
|
263
|
-
|
330
|
+
context 'raising a exception' do
|
331
|
+
before :each do
|
332
|
+
subject.expects(:id).at_least_once.returns(42)
|
333
|
+
KalibroClient::Entities::Base.expects(:request).with(':id',{id: subject.id}, :delete, '').raises(Exception.new)
|
334
|
+
end
|
335
|
+
|
336
|
+
it "should have an exception inside it's errors" do
|
337
|
+
subject.destroy
|
338
|
+
|
339
|
+
expect(subject.kalibro_errors[0]).to be_an(Exception)
|
340
|
+
end
|
264
341
|
end
|
265
342
|
|
266
|
-
|
267
|
-
|
343
|
+
context 'returning kalibro_errors' do
|
344
|
+
before :each do
|
345
|
+
subject.expects(:id).at_least_once.returns(42)
|
346
|
+
KalibroClient::Entities::Base.expects(:request).with(':id',{id: subject.id}, :delete, '').returns({'errors' => ['Error']})
|
347
|
+
end
|
268
348
|
|
269
|
-
|
349
|
+
it 'is expected to return false' do
|
350
|
+
expect(subject.destroy).to be_falsey
|
351
|
+
end
|
270
352
|
end
|
271
353
|
end
|
272
354
|
end
|
@@ -5,7 +5,7 @@
|
|
5
5
|
# it under the terms of the GNU General Public License as published by
|
6
6
|
# the Free Software Foundation, either version 3 of the License, or
|
7
7
|
# (at your option) any later version.
|
8
|
-
#
|
8
|
+
#
|
9
9
|
# This program is distributed in the hope that it will be useful,
|
10
10
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
11
11
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
@@ -39,22 +39,22 @@ describe KalibroClient::Entities::Configurations::KalibroConfiguration do
|
|
39
39
|
end
|
40
40
|
|
41
41
|
context 'with many configurations' do
|
42
|
-
let(:
|
43
|
-
let(:
|
42
|
+
let(:kalibro_configuration) { FactoryGirl.build(:kalibro_configuration_with_id) }
|
43
|
+
let(:another_kalibro_configuration) { FactoryGirl.build(:another_kalibro_configuration) }
|
44
44
|
|
45
45
|
before :each do
|
46
46
|
KalibroClient::Entities::Configurations::KalibroConfiguration.
|
47
47
|
expects(:request).
|
48
48
|
with('', {}, :get).
|
49
|
-
returns({'kalibro_configurations' => [
|
49
|
+
returns({'kalibro_configurations' => [kalibro_configuration.to_hash, another_kalibro_configuration.to_hash]})
|
50
50
|
end
|
51
51
|
|
52
52
|
it 'should return the two elements' do
|
53
|
-
|
53
|
+
kalibro_configurations = KalibroClient::Entities::Configurations::KalibroConfiguration.all
|
54
54
|
|
55
|
-
expect(
|
56
|
-
expect(
|
57
|
-
expect(
|
55
|
+
expect(kalibro_configurations.size).to eq(2)
|
56
|
+
expect(kalibro_configurations.first.name).to eq(kalibro_configuration.name)
|
57
|
+
expect(kalibro_configurations.last.name).to eq(another_kalibro_configuration.name)
|
58
58
|
end
|
59
59
|
end
|
60
60
|
end
|
@@ -33,30 +33,6 @@ describe KalibroClient::Entities::Configurations::KalibroRange do
|
|
33
33
|
end
|
34
34
|
end
|
35
35
|
|
36
|
-
describe 'beginning=' do
|
37
|
-
it 'should set the value of the attribute as a float' do
|
38
|
-
subject.beginning = "12.3"
|
39
|
-
expect(subject.beginning).to eq(12.3)
|
40
|
-
end
|
41
|
-
|
42
|
-
it 'should set beginning to infinity' do
|
43
|
-
subject.beginning = "-INF"
|
44
|
-
expect(subject.beginning).to eq("-INF")
|
45
|
-
end
|
46
|
-
end
|
47
|
-
|
48
|
-
describe 'end=' do
|
49
|
-
it 'should set the value of the attribute as a float' do
|
50
|
-
subject.end = "23.4"
|
51
|
-
expect(subject.end).to eq(23.4)
|
52
|
-
end
|
53
|
-
|
54
|
-
it 'should set end to infinity' do
|
55
|
-
subject.end = "INF"
|
56
|
-
expect(subject.end).to eq("INF")
|
57
|
-
end
|
58
|
-
end
|
59
|
-
|
60
36
|
describe 'getting reading attribute' do
|
61
37
|
let(:reading) { FactoryGirl.build(:reading_with_id) }
|
62
38
|
|
@@ -171,4 +147,22 @@ describe KalibroClient::Entities::Configurations::KalibroRange do
|
|
171
147
|
subject.destroy
|
172
148
|
end
|
173
149
|
end
|
150
|
+
|
151
|
+
# The only purpose of this test is to cover the overrided update_params method
|
152
|
+
describe 'update' do
|
153
|
+
subject {FactoryGirl.build(:range_with_id)}
|
154
|
+
|
155
|
+
before :each do
|
156
|
+
subject.end = "555"
|
157
|
+
KalibroClient::Entities::Configurations::KalibroRange.
|
158
|
+
expects(:request).
|
159
|
+
with(':id', {:kalibro_range => subject.to_hash, :id => subject.id}, :put, "metric_configurations/#{subject.metric_configuration_id}").
|
160
|
+
returns("errors" => nil)
|
161
|
+
end
|
162
|
+
|
163
|
+
it 'should make a request to updatethe model and return true without errors' do
|
164
|
+
expect(subject.update).to be(true)
|
165
|
+
expect(subject.kalibro_errors).to be_empty
|
166
|
+
end
|
167
|
+
end
|
174
168
|
end
|
@@ -34,22 +34,6 @@ describe KalibroClient::Entities::Configurations::MetricConfiguration do
|
|
34
34
|
describe 'metric=' do
|
35
35
|
|
36
36
|
context 'with a Hash' do
|
37
|
-
context 'Metric' do
|
38
|
-
let!(:metric) { FactoryGirl.build(:metric) }
|
39
|
-
|
40
|
-
before :each do
|
41
|
-
KalibroClient::Entities::Miscellaneous::Metric.
|
42
|
-
expects(:to_object).at_least_once.
|
43
|
-
with(metric.to_hash).
|
44
|
-
returns(metric)
|
45
|
-
end
|
46
|
-
|
47
|
-
it 'should convert the argument and set the metric' do
|
48
|
-
subject.metric = metric.to_hash
|
49
|
-
expect(subject.metric).to eq(metric)
|
50
|
-
end
|
51
|
-
end
|
52
|
-
|
53
37
|
context 'NativeMetric' do
|
54
38
|
let!(:metric) { FactoryGirl.build(:loc) }
|
55
39
|
|
@@ -130,23 +114,23 @@ describe KalibroClient::Entities::Configurations::MetricConfiguration do
|
|
130
114
|
subject {FactoryGirl.build(:metric_configuration_with_id)}
|
131
115
|
|
132
116
|
it 'should not include the configuration_id' do
|
133
|
-
expect(subject.to_hash[:
|
117
|
+
expect(subject.to_hash[:kalibro_configuration_id]).to be_nil
|
134
118
|
end
|
135
119
|
end
|
136
120
|
|
137
121
|
describe 'metric_configurations_of' do
|
138
122
|
let(:metric_configuration) { FactoryGirl.build(:metric_configuration_with_id) }
|
139
|
-
let(:
|
123
|
+
let(:kalibro_configuration) { FactoryGirl.build(:kalibro_configuration_with_id) }
|
140
124
|
|
141
125
|
before :each do
|
142
126
|
KalibroClient::Entities::Configurations::MetricConfiguration.
|
143
127
|
expects(:request).
|
144
|
-
with('', {}, :get, "kalibro_configurations/#{
|
128
|
+
with('', {}, :get, "kalibro_configurations/#{kalibro_configuration.id}").
|
145
129
|
returns({'metric_configurations' => [metric_configuration.to_hash]})
|
146
130
|
end
|
147
131
|
|
148
132
|
it 'should return a array with a metric configuration' do
|
149
|
-
metric_configurations = KalibroClient::Entities::Configurations::MetricConfiguration.metric_configurations_of(
|
133
|
+
metric_configurations = KalibroClient::Entities::Configurations::MetricConfiguration.metric_configurations_of(kalibro_configuration.id)
|
150
134
|
|
151
135
|
expect(metric_configurations).to be_an(Array)
|
152
136
|
expect(metric_configurations.first.id).to eq(metric_configuration.id)
|
@@ -213,12 +197,10 @@ describe KalibroClient::Entities::Configurations::MetricConfiguration do
|
|
213
197
|
|
214
198
|
context 'with an inexistant MetricConfiguration' do
|
215
199
|
before :each do
|
216
|
-
any_code = rand(Time.now.to_i)
|
217
|
-
any_error_message = ""
|
218
200
|
KalibroClient::Entities::Configurations::MetricConfiguration.
|
219
201
|
expects(:request).
|
220
202
|
with(':id', {id: metric_configuration.id}, :get).
|
221
|
-
returns({'
|
203
|
+
returns({'errors' => 'RecordNotFound'})
|
222
204
|
end
|
223
205
|
|
224
206
|
it 'should raise the RecordNotFound error' do
|
@@ -227,4 +209,21 @@ describe KalibroClient::Entities::Configurations::MetricConfiguration do
|
|
227
209
|
end
|
228
210
|
end
|
229
211
|
end
|
212
|
+
|
213
|
+
describe 'kalibro ranges' do
|
214
|
+
let(:metric_configuration) { FactoryGirl.build(:metric_configuration_with_id) }
|
215
|
+
let(:kalibro_range_1) { FactoryGirl.build(:range, metric_configuration_id: metric_configuration.id) }
|
216
|
+
let(:kalibro_range_2) { FactoryGirl.build(:range, metric_configuration_id: metric_configuration.id) }
|
217
|
+
|
218
|
+
before :each do
|
219
|
+
KalibroClient::Entities::Configurations::MetricConfiguration.
|
220
|
+
expects(:request).
|
221
|
+
with(':id/kalibro_ranges', {id: metric_configuration.id}, :get).
|
222
|
+
returns({'kalibro_ranges' => [kalibro_range_1.to_hash, kalibro_range_2.to_hash]})
|
223
|
+
end
|
224
|
+
|
225
|
+
it 'should return the kalibro ranges of a metric configuration' do
|
226
|
+
expect(metric_configuration.kalibro_ranges).to eq([kalibro_range_1, kalibro_range_2])
|
227
|
+
end
|
228
|
+
end
|
230
229
|
end
|
@@ -57,4 +57,31 @@ describe KalibroClient::Entities::Configurations::ReadingGroup do
|
|
57
57
|
end
|
58
58
|
end
|
59
59
|
end
|
60
|
+
|
61
|
+
describe 'readings' do
|
62
|
+
let(:reading_group) { FactoryGirl.build(:reading_group_with_id) }
|
63
|
+
|
64
|
+
context 'with readings' do
|
65
|
+
let(:reading_1) { FactoryGirl.build(:reading, reading_group_id: reading_group.id) }
|
66
|
+
let(:reading_2) { FactoryGirl.build(:reading, reading_group_id: reading_group.id) }
|
67
|
+
|
68
|
+
before :each do
|
69
|
+
KalibroClient::Entities::Configurations::ReadingGroup.expects(:request).with(":id/readings", {id: reading_group.id}, :get).returns({"readings" => [reading_1.to_hash, reading_2.to_hash]})
|
70
|
+
end
|
71
|
+
|
72
|
+
it 'should return an array of readings' do
|
73
|
+
expect(reading_group.readings).to eq([reading_1, reading_2])
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
context 'without readings' do
|
78
|
+
before :each do
|
79
|
+
KalibroClient::Entities::Configurations::ReadingGroup.expects(:request).with(":id/readings", {id: reading_group.id}, :get).returns({"readings" => []})
|
80
|
+
end
|
81
|
+
|
82
|
+
it 'should return an empty array' do
|
83
|
+
expect(reading_group.readings).to eq([])
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
60
87
|
end
|
@@ -24,13 +24,6 @@ describe KalibroClient::Entities::Configurations::Reading do
|
|
24
24
|
end
|
25
25
|
end
|
26
26
|
|
27
|
-
describe "grade=" do
|
28
|
-
it 'should set the grade attribute as a float' do
|
29
|
-
subject.grade = "44.7"
|
30
|
-
expect(subject.grade).to eq(44.7)
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
27
|
context 'static methods' do
|
35
28
|
let(:reading) { FactoryGirl.build(:reading_with_id) }
|
36
29
|
describe 'readings_of' do
|
@@ -84,4 +77,19 @@ describe KalibroClient::Entities::Configurations::Reading do
|
|
84
77
|
subject.destroy
|
85
78
|
end
|
86
79
|
end
|
80
|
+
|
81
|
+
# The only purpose of this test is to cover the overridden update_prefix method
|
82
|
+
describe 'update' do
|
83
|
+
subject {FactoryGirl.build(:reading_with_id)}
|
84
|
+
|
85
|
+
before :each do
|
86
|
+
KalibroClient::Entities::Configurations::Reading.
|
87
|
+
expects(:request).
|
88
|
+
with(":id", {reading: subject.to_hash, id: subject.id}, :put, "reading_groups/#{subject.reading_group_id}").returns({})
|
89
|
+
end
|
90
|
+
|
91
|
+
it 'should make a request to update' do
|
92
|
+
subject.update
|
93
|
+
end
|
94
|
+
end
|
87
95
|
end
|
@@ -119,11 +119,10 @@ describe KalibroClient::Entities::Processor::MetricCollectorDetails do
|
|
119
119
|
end
|
120
120
|
|
121
121
|
describe 'Supported Metrics' do
|
122
|
-
let(:code_and_metric) { { "total_abstract_classes" => FactoryGirl.build(:
|
123
|
-
|
124
|
-
let(:code_and_metric_parameter) { { "total_abstract_classes" => Hash[FactoryGirl.attributes_for(:metric)] } }
|
122
|
+
let(:code_and_metric) { { "total_abstract_classes" => FactoryGirl.build(:loc) } }
|
123
|
+
let(:code_and_metric_parameter) { { "total_abstract_classes" => FactoryGirl.build(:loc).to_hash } }
|
125
124
|
|
126
|
-
context 'supported_metrics
|
125
|
+
context 'supported_metrics accessors' do
|
127
126
|
it 'should set the value of the array of supported metrics' do
|
128
127
|
subject.supported_metrics = code_and_metric_parameter
|
129
128
|
expect(subject.supported_metrics["total_abstract_classes"].to_hash).to eql(code_and_metric["total_abstract_classes"].to_hash)
|
@@ -131,16 +130,29 @@ describe KalibroClient::Entities::Processor::MetricCollectorDetails do
|
|
131
130
|
end
|
132
131
|
end
|
133
132
|
|
134
|
-
describe '
|
133
|
+
describe 'find_metric_by_name' do
|
135
134
|
subject { FactoryGirl.build(:metric_collector_details) }
|
136
135
|
let(:metric) { subject.supported_metrics["loc"] }
|
137
136
|
|
138
137
|
it 'should return nil with an inexistent name' do
|
139
|
-
expect(subject.
|
138
|
+
expect(subject.find_metric_by_name("fake name")).to be_nil
|
140
139
|
end
|
141
140
|
|
142
141
|
it 'should return a metric with an existent name' do
|
143
|
-
expect(subject.
|
142
|
+
expect(subject.find_metric_by_name(metric.name)).to eq(metric)
|
143
|
+
end
|
144
|
+
end
|
145
|
+
|
146
|
+
describe 'find_metric_by_code' do
|
147
|
+
subject { FactoryGirl.build(:metric_collector_details) }
|
148
|
+
let(:metric) { subject.supported_metrics["loc"] }
|
149
|
+
|
150
|
+
it 'should return nil with an inexistent code' do
|
151
|
+
expect(subject.find_metric_by_code("fake code")).to be_nil
|
152
|
+
end
|
153
|
+
|
154
|
+
it 'should return a metric with an existent code' do
|
155
|
+
expect(subject.find_metric_by_code(metric.code)).to eq(metric)
|
144
156
|
end
|
145
157
|
end
|
146
158
|
end
|