From ecd1b5dcad0213100bbab00cd401bd394dd3b996 Mon Sep 17 00:00:00 2001 From: Daniel Alves Date: Wed, 10 Dec 2014 15:46:03 -0200 Subject: [PATCH] Updated kalibro_client gem and fixed unit tests. --- Gemfile.lock | 8 ++++---- app/controllers/metric_configurations_controller.rb | 4 ++-- app/helpers/processings_helper.rb | 4 ++-- app/models/module_result.rb | 2 +- spec/controllers/metric_configurations_controller_spec.rb | 6 +++--- spec/factories/metric_collectors.rb | 3 +++ spec/factories/metric_configurations.rb | 12 ++++++++++++ spec/factories/metric_results.rb | 2 +- spec/helpers/processings_helper_spec.rb | 5 +++-- spec/models/module_result_spec.rb | 5 +++-- 10 files changed, 34 insertions(+), 17 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index f03ffea..7d6ce62 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,6 +1,6 @@ GIT remote: https://github.com/mezuro/kalibro_client - revision: e8367929a341a2eaf16599a858972703151a8967 + revision: 434108322137611d54314ffb16206fe05c0dac08 specs: kalibro_client (0.0.1) activeresource (~> 4.0.0) @@ -57,8 +57,8 @@ GEM binding_of_caller (0.7.2) debug_inspector (>= 0.0.1) builder (3.2.2) - capistrano (3.3.3) - capistrano-stats (~> 1.0.3) + capistrano (3.3.4) + capistrano-stats (~> 1.1.0) i18n rake (>= 10.0.0) sshkit (~> 1.3) @@ -71,7 +71,7 @@ GEM capistrano-rvm (0.1.2) capistrano (~> 3.0) sshkit (~> 1.2) - capistrano-stats (1.0.3) + capistrano-stats (1.1.0) capybara (2.4.4) mime-types (>= 1.16) nokogiri (>= 1.3.3) diff --git a/app/controllers/metric_configurations_controller.rb b/app/controllers/metric_configurations_controller.rb index e0a0a25..4e7abc3 100644 --- a/app/controllers/metric_configurations_controller.rb +++ b/app/controllers/metric_configurations_controller.rb @@ -8,12 +8,12 @@ class MetricConfigurationsController < BaseMetricConfigurationsController def new super metric_configuration.metric_collector_name = params[:metric_collector_name] - metric_configuration.metric = KalibroClient::Processor::MetricCollector.find_by_name(params[:metric_collector_name]).metric params[:metric_name] + metric_configuration.metric = KalibroClient::Processor::MetricCollector.find(params[:metric_collector_name]).metric params[:metric_name] end def create super - @metric_configuration.metric = KalibroClient::Processor::MetricCollector.find_by_name(params[:metric_collector_name]).metric params[:metric_name] + @metric_configuration.metric = KalibroClient::Processor::MetricCollector.find(params[:metric_collector_name]).metric params[:metric_name] @metric_configuration.metric_collector_name = params[:metric_collector_name] @metric_configuration.code = @metric_configuration.metric.code respond_to do |format| diff --git a/app/helpers/processings_helper.rb b/app/helpers/processings_helper.rb index 5c597c1..7286059 100644 --- a/app/helpers/processings_helper.rb +++ b/app/helpers/processings_helper.rb @@ -8,7 +8,7 @@ module ProcessingsHelper end def find_range_snapshot(metric_result) - range_snapshots = metric_result.metric_configuration_snapshot.range_snapshot + range_snapshots = metric_result.metric_configuration.kalibro_ranges range_snapshots.each do |range_snapshot| return range_snapshot if ((range_snapshot.beginning <= metric_result.value || range_snapshot.beginning == '-INF') && (range_snapshot.end >= metric_result.value || range_snapshot.beginning == '+INF')) @@ -26,4 +26,4 @@ module ProcessingsHelper module_name.to_s end end -end \ No newline at end of file +end diff --git a/app/models/module_result.rb b/app/models/module_result.rb index e887c9a..80c258d 100644 --- a/app/models/module_result.rb +++ b/app/models/module_result.rb @@ -13,6 +13,6 @@ class ModuleResult < KalibroClient::Processor::ModuleResult private def find_grade_by_metric_name(metric_results, name) - metric_results.each { |metric_result| return metric_result.value if metric_result.metric_configuration_snapshot.metric.name == name } + metric_results.each { |metric_result| return metric_result.value if metric_result.metric_configuration.metric_snapshot.name == name } end end diff --git a/spec/controllers/metric_configurations_controller_spec.rb b/spec/controllers/metric_configurations_controller_spec.rb index 253078c..8f48102 100644 --- a/spec/controllers/metric_configurations_controller_spec.rb +++ b/spec/controllers/metric_configurations_controller_spec.rb @@ -29,7 +29,7 @@ describe MetricConfigurationsController, :type => :controller do context 'when the current user owns the mezuro configuration' do before :each do subject.expects(:mezuro_configuration_owner?).returns true - KalibroClient::Processor::MetricCollector.expects(:find_by_name).with(metric_collector.name).returns(metric_collector) + KalibroClient::Processor::MetricCollector.expects(:find).with(metric_collector.name).returns(metric_collector) post :new, mezuro_configuration_id: mezuro_configuration.id, metric_name: "Lines of Code", metric_collector_name: metric_collector.name end @@ -65,7 +65,7 @@ describe MetricConfigurationsController, :type => :controller do context 'with valid fields' do before :each do MetricConfiguration.any_instance.expects(:save).returns(true) - KalibroClient::Processor::MetricCollector.expects(:find_by_name).with(metric_collector.name).returns(metric_collector) + KalibroClient::Processor::MetricCollector.expects(:find).with(metric_collector.name).returns(metric_collector) metric_collector.expects(:metric).with(metric_configuration.metric.name).returns(metric_configuration.metric) post :create, mezuro_configuration_id: mezuro_configuration.id, metric_configuration: metric_configuration_params, metric_collector_name: metric_collector.name, metric_name: metric_configuration.metric.name @@ -77,7 +77,7 @@ describe MetricConfigurationsController, :type => :controller do context 'with invalid fields' do before :each do MetricConfiguration.any_instance.expects(:save).returns(false) - KalibroClient::Processor::MetricCollector.expects(:find_by_name).with(metric_collector.name).returns(metric_collector) + KalibroClient::Processor::MetricCollector.expects(:find).with(metric_collector.name).returns(metric_collector) metric_collector.expects(:metric).with(metric_configuration.metric.name).returns(metric_configuration.metric) post :create, mezuro_configuration_id: mezuro_configuration.id, metric_configuration: metric_configuration_params, metric_collector_name: metric_collector.name, metric_name: metric_configuration.metric.name diff --git a/spec/factories/metric_collectors.rb b/spec/factories/metric_collectors.rb index 2cea391..001c42e 100644 --- a/spec/factories/metric_collectors.rb +++ b/spec/factories/metric_collectors.rb @@ -1,6 +1,9 @@ FactoryGirl.define do factory :metric_collector, class: KalibroClient::Processor::MetricCollector do name 'Analizo' + description 'A metric collector' supported_metrics { { "total_abstract_classes" => FactoryGirl.build(:metric), "loc" => FactoryGirl.build(:loc)} } + + initialize_with { new({"name" => name, "description" => description, "supported_metrics" => supported_metrics}) } end end diff --git a/spec/factories/metric_configurations.rb b/spec/factories/metric_configurations.rb index e64aadf..a98777e 100644 --- a/spec/factories/metric_configurations.rb +++ b/spec/factories/metric_configurations.rb @@ -19,4 +19,16 @@ FactoryGirl.define do reading_group_id 1 configuration_id 1 end + + factory :metric_configuration_with_snapshot, class: MetricConfiguration do + id 1 + code 'total_modules' + metric_snapshot {FactoryGirl.build(:metric)} + metric_collector_name "Analizo" + weight 1 + aggregation_form "MEDIAN" + reading_group_id 1 + configuration_id 1 + end + end diff --git a/spec/factories/metric_results.rb b/spec/factories/metric_results.rb index 8e81ac0..2b7e1a4 100644 --- a/spec/factories/metric_results.rb +++ b/spec/factories/metric_results.rb @@ -17,7 +17,7 @@ FactoryGirl.define do factory :metric_result, class: KalibroClient::Processor::MetricResult do id "42" - self.configuration { FactoryGirl.build(:metric_configuration_snapshot) } + self.configuration { FactoryGirl.build(:metric_configuration) } value "10.0" aggregated_value "21" end diff --git a/spec/helpers/processings_helper_spec.rb b/spec/helpers/processings_helper_spec.rb index d2c12d8..72b751d 100644 --- a/spec/helpers/processings_helper_spec.rb +++ b/spec/helpers/processings_helper_spec.rb @@ -21,7 +21,8 @@ describe ProcessingsHelper, :type => :helper do let(:range_snapshot_10dot1_to_15) { FactoryGirl.build(:range_snapshot, {beginning: 10.1, end: 15.0}) } before :each do - metric_configuration_snapshot.expects(:range_snapshot). + metric_result.expects(:metric_configuration).returns(metric_result.configuration) + metric_configuration_snapshot.expects(:kalibro_ranges). returns([range_snapshot_1_to_5, range_snapshot_5dot1_to_10, range_snapshot_10dot1_to_15]) @@ -59,4 +60,4 @@ describe ProcessingsHelper, :type => :helper do end end end -end \ No newline at end of file +end diff --git a/spec/models/module_result_spec.rb b/spec/models/module_result_spec.rb index 35aec80..028eda4 100644 --- a/spec/models/module_result_spec.rb +++ b/spec/models/module_result_spec.rb @@ -6,19 +6,20 @@ describe ModuleResult, :type => :model do describe 'metric_history' do let(:date_module_result) {FactoryGirl.build(:date_module_result)} - let(:metric_result) {FactoryGirl.build(:metric_result)} + let(:metric_result) { FactoryGirl.build(:metric_result, configuration: FactoryGirl.build(:metric_configuration_with_snapshot)) } let(:processing) {FactoryGirl.build(:processing)} let(:repository) {FactoryGirl.build(:repository)} before :each do subject.expects(:processing).returns(processing) + metric_result.expects(:metric_configuration).returns(metric_result.configuration) processing.expects(:repository).returns(repository) repository.expects(:module_result_history_of).with(subject).returns([date_module_result]) ModuleResult.any_instance.expects(:metric_results).returns([metric_result]) end it 'should return the history for the given metric name' do - expect(subject.metric_history(metric_result.metric_configuration_snapshot.metric.name)).to eq({date_module_result.date => metric_result.value}) + expect(subject.metric_history(metric_result.configuration.metric_snapshot.name)).to eq({date_module_result.date => metric_result.value}) end end end -- libgit2 0.21.2