From bc84b9cc702cea9f7c82fcbc6f85910c04f3d39f Mon Sep 17 00:00:00 2001 From: João M. M. da Silva Date: Tue, 22 Jan 2013 17:11:29 -0200 Subject: [PATCH] [Mezuro] Tests to clone a configuration. --- plugins/mezuro/lib/kalibro/metric_configuration.rb | 8 ++++++++ plugins/mezuro/lib/mezuro_plugin/configuration_content.rb | 13 +++++++------ plugins/mezuro/test/fixtures/configuration_fixtures.rb | 2 +- plugins/mezuro/test/unit/kalibro/metric_configuration_test.rb | 5 ++++- plugins/mezuro/test/unit/mezuro_plugin/configuration_content_test.rb | 23 +++++++++++++++-------- 5 files changed, 35 insertions(+), 16 deletions(-) diff --git a/plugins/mezuro/lib/kalibro/metric_configuration.rb b/plugins/mezuro/lib/kalibro/metric_configuration.rb index eecba24..c1f0cec 100644 --- a/plugins/mezuro/lib/kalibro/metric_configuration.rb +++ b/plugins/mezuro/lib/kalibro/metric_configuration.rb @@ -2,6 +2,14 @@ class Kalibro::MetricConfiguration < Kalibro::Model attr_accessor :id, :code, :metric, :base_tool_name, :weight, :aggregation_form, :reading_group_id, :configuration_id + def id=(value) + @id = value.to_i + end + + def reading_group_id=(value) + @reading_group_id = value.to_i + end + def metric=(value) @metric = Kalibro::Metric.to_object(value) end diff --git a/plugins/mezuro/lib/mezuro_plugin/configuration_content.rb b/plugins/mezuro/lib/mezuro_plugin/configuration_content.rb index 4974572..d085d99 100644 --- a/plugins/mezuro/lib/mezuro_plugin/configuration_content.rb +++ b/plugins/mezuro/lib/mezuro_plugin/configuration_content.rb @@ -101,6 +101,10 @@ class MezuroPlugin::ConfigurationContent < Article end end + def remove_configuration_from_service + kalibro_configuration.destroy unless kalibro_configuration.nil? + end + def send_configuration_to_service attributes = {:id => configuration_id, :name => name, :description => description} created_configuration = Kalibro::Configuration.create attributes @@ -108,16 +112,13 @@ class MezuroPlugin::ConfigurationContent < Article clone_configuration if cloning_configuration? end - def remove_configuration_from_service - kalibro_configuration.destroy unless kalibro_configuration.nil? - end - def configuration_to_clone_id - (configuration_to_clone_name.nil?) ? nil : configuration_names_and_ids.index(configuration_to_clone_name) + @configuration_to_clone_id ||= (configuration_to_clone_name.nil?) ? nil : configuration_names_and_ids.index(configuration_to_clone_name) + @configuration_to_clone_id end def cloning_configuration? - configuration_to_clone_id.present? + !configuration_to_clone_id.nil? end def clone_configuration diff --git a/plugins/mezuro/test/fixtures/configuration_fixtures.rb b/plugins/mezuro/test/fixtures/configuration_fixtures.rb index 39f7b68..30e4f09 100644 --- a/plugins/mezuro/test/fixtures/configuration_fixtures.rb +++ b/plugins/mezuro/test/fixtures/configuration_fixtures.rb @@ -8,7 +8,7 @@ class ConfigurationFixtures def self.created_configuration Kalibro::Configuration.new({ - :name => 'Sample Configuration', + :name => 'Created Sample Configuration', :description => 'Kalibro configuration for Java projects.' }) end diff --git a/plugins/mezuro/test/unit/kalibro/metric_configuration_test.rb b/plugins/mezuro/test/unit/kalibro/metric_configuration_test.rb index 1194156..49782e9 100644 --- a/plugins/mezuro/test/unit/kalibro/metric_configuration_test.rb +++ b/plugins/mezuro/test/unit/kalibro/metric_configuration_test.rb @@ -11,7 +11,10 @@ class MetricConfigurationTest < ActiveSupport::TestCase end should 'create metric configuration from hash' do - assert_equal @native_metric_configuration_hash[:code], Kalibro::MetricConfiguration.new(@native_metric_configuration_hash).code + metric_configuration = Kalibro::MetricConfiguration.new(@native_metric_configuration_hash) + assert_equal @native_metric_configuration_hash[:code], metric_configuration.code + assert_equal @native_metric_configuration_hash[:id].to_i, metric_configuration.id + assert_equal @native_metric_configuration_hash[:reading_group_id].to_i, metric_configuration.reading_group_id end should 'convert metric configuration to hash' do diff --git a/plugins/mezuro/test/unit/mezuro_plugin/configuration_content_test.rb b/plugins/mezuro/test/unit/mezuro_plugin/configuration_content_test.rb index e776928..6aa60cf 100644 --- a/plugins/mezuro/test/unit/mezuro_plugin/configuration_content_test.rb +++ b/plugins/mezuro/test/unit/mezuro_plugin/configuration_content_test.rb @@ -2,6 +2,8 @@ require "test_helper" require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/configuration_fixtures" require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/configuration_content_fixtures" +require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/metric_configuration_fixtures" +require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/range_fixtures" class ConfigurationContentTest < ActiveSupport::TestCase @@ -12,6 +14,9 @@ class ConfigurationContentTest < ActiveSupport::TestCase @content_hash = ConfigurationContentFixtures.configuration_content_hash @configuration_hash = {:name => @content_hash[:name], :description => @content_hash[:description], :id => @content_hash[:configuration_id]} @created_content = ConfigurationContentFixtures.created_configuration_content + + @metric_configuration = MetricConfigurationFixtures.amloc_metric_configuration + @range = RangeFixtures.range end should 'be an article' do @@ -38,13 +43,13 @@ class ConfigurationContentTest < ActiveSupport::TestCase should 'get configuration from service' do Kalibro::Configuration.expects(:find).with(@content.configuration_id).returns(@configuration) - assert_equal @configuration, @content.configuration + assert_equal @configuration, @content.kalibro_configuration end should 'send configuration to service after saving' do @content.expects :send_configuration_to_service @content.stubs(:solr_save) - @content.run_callbacks :after_save + @content.run_callbacks :before_save end should 'create new configuration' do @@ -53,15 +58,17 @@ class ConfigurationContentTest < ActiveSupport::TestCase assert_equal @configuration.id, @created_content.configuration_id end -=begin should 'clone configuration' do - @content.configuration_to_clone_name = 'clone name' - Kalibro::Configuration.expects(:create).with(:name => @content.configuration_id, :description => @content.description, :metric_configuration => @configuration.metric_configurations_hash) - Kalibro::Configuration.expects(:find).with(@content.configuration_id).returns(nil) - Kalibro::Configuration.expects(:find).with('clone name').returns(@configuration) + clone_name = @configuration.name + @content.configuration_to_clone_name = clone_name + Kalibro::Configuration.expects(:create).with(:id => @content.configuration_id, :name => @content.name, :description => @content.description).returns(@configuration) + Kalibro::Configuration.expects(:all).returns([@configuration]) + Kalibro::MetricConfiguration.expects(:metric_configurations_of).with(@configuration.id).returns([@metric_configuration]) + Kalibro::MetricConfiguration.expects(:request).returns(:metric_configuration_id => @metric_configuration.id) + Kalibro::Range.expects(:ranges_of).with(@metric_configuration.id).returns([@range]) + @range.expects(:save).with(@metric_configuration.id).returns(true) @content.send :send_configuration_to_service end -=end should 'edit configuration' do Kalibro::Configuration.expects(:new).with(@configuration_hash).returns(@configuration) -- libgit2 0.21.2