From d7a79ac553650528cd996379479c65db38079908 Mon Sep 17 00:00:00 2001 From: Alessandro Palmeira + João M. M. Silva Date: Thu, 26 Apr 2012 14:09:41 -0300 Subject: [PATCH] [Mezuro] Split controller in two --- plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb | 134 -------------------------------------------------------------------------------------------------------------------------------------- plugins/mezuro/test/functional/mezuro_plugin_profile_controller_test.rb | 93 +-------------------------------------------------------------------------------------------- 2 files changed, 1 insertion(+), 226 deletions(-) diff --git a/plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb b/plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb index 7ee4cc2..1adb57b 100644 --- a/plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb +++ b/plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb @@ -40,139 +40,5 @@ class MezuroPluginProfileController < ProfileController source_tree = project_result.node_of(params[:module_name]) render :partial =>'content_viewer/source_tree', :locals => { :source_tree => source_tree, :project_name => content.project.name} end - def choose_base_tool - @configuration_name = params[:configuration_name] - @tool_names = Kalibro::Client::BaseToolClient.new - end - - def choose_metric - @configuration_name = params[:configuration_name] - @collector_name = params[:collector_name] - @collector = Kalibro::Client::BaseToolClient.new.base_tool(@collector_name) - end - def new_metric_configuration - metric_name = params[:metric_name] - collector_name = params[:collector_name] - collector = Kalibro::Client::BaseToolClient.new.base_tool(collector_name) - @metric = collector.supported_metrics.find {|metric| metric.name == metric_name} - @configuration_name = params[:configuration_name] - end - def edit_metric_configuration - metric_name = params[:metric_name] - @configuration_name = params[:configuration_name] - @metric_configuration = Kalibro::Client::MetricConfigurationClient.new.metric_configuration(@configuration_name, metric_name) - @metric = @metric_configuration.metric - end - def create_metric_configuration - @configuration_name = params[:configuration_name] - metric_configuration = new_metric_configuration_instance - Kalibro::Client::MetricConfigurationClient.new.save(metric_configuration, @configuration_name) - redirect_to "/#{profile.identifier}/#{@configuration_name.downcase.gsub(/\s/, '-')}" - end - - def update_metric_configuration - @configuration_name = params[:configuration_name] - metric_name = params[:metric][:name] - metric_configuration = Kalibro::Client::MetricConfigurationClient.new.metric_configuration(@configuration_name, metric_name) - assign_metric_configuration_instance (metric_configuration) - Kalibro::Client::MetricConfigurationClient.new.save(metric_configuration, @configuration_name) - redirect_to "/#{profile.identifier}/#{@configuration_name.downcase.gsub(/\s/, '-')}" - end - - def new_range - @metric_name = params[:metric_name] - @configuration_name = params[:configuration_name] - end - - def edit_range - @metric_name = params[:metric_name] - @configuration_name = params[:configuration_name] - @beginning_id = params[:beginning_id] - - metric_configuration_client = Kalibro::Client::MetricConfigurationClient.new - metric_configuration = metric_configuration_client.metric_configuration(@configuration_name, @metric_name) - @range = metric_configuration.ranges.find{ |range| range.beginning == @beginning_id.to_f } - end - - def create_range - @range = new_range_instance - configuration_name = params[:configuration_name] - metric_name = params[:metric_name] - beginning_id = params[:beginning_id] - metric_configuration_client = Kalibro::Client::MetricConfigurationClient.new - metric_configuration = metric_configuration_client.metric_configuration(configuration_name, metric_name) - metric_configuration.add_range(@range) - metric_configuration_client.save(metric_configuration, configuration_name) - end - def update_range - metric_name = params[:metric_name] - configuration_name = params[:configuration_name] - beginning_id = params[:beginning_id] - metric_configuration_client = Kalibro::Client::MetricConfigurationClient.new - metric_configuration = metric_configuration_client.metric_configuration(configuration_name, metric_name) - index = metric_configuration.ranges.index{ |range| range.beginning == beginning_id.to_f } - metric_configuration.ranges[index] = new_range_instance - Kalibro::Client::MetricConfigurationClient.new.save(metric_configuration, configuration_name) - end - - def remove_range - configuration_name = params[:configuration_name] - metric_name = params[:metric_name] - beginning_id = params[:range_beginning] - metric_configuration_client = Kalibro::Client::MetricConfigurationClient.new - metric_configuration = metric_configuration_client.metric_configuration(configuration_name, metric_name) - metric_configuration.ranges.delete_if { |range| range.beginning == beginning_id.to_f }.inspect - Kalibro::Client::MetricConfigurationClient.new.save(metric_configuration, configuration_name) - formatted_configuration_name = configuration_name.gsub(/\s/, '+') - formatted_metric_name = metric_name.gsub(/\s/, '+') - redirect_to "/profile/#{profile.identifier}/plugins/mezuro/edit_metric_configuration?configuration_name=#{formatted_configuration_name}&metric_name=#{formatted_metric_name}" - end - - def remove_metric_configuration - configuration_name = params[:configuration_name] - metric_name = params[:metric_name] - Kalibro::Client::MetricConfigurationClient.new.remove(configuration_name, metric_name) - redirect_to "/#{profile.identifier}/#{configuration_name.downcase.gsub(/\s/, '-')}" - end - - def module_metrics_history - metric_name = params[:metric_name] - content = profile.articles.find(params[:id]) - module_history = content.result_history(params[:module_name]) - date_history = module_history.collect { |x| x.date } - metric_history = module_history.collect { |x| (x.metric_results.select { |y| y.metric.name.delete("() ") == metric_name })[0] } - render :partial => 'content_viewer/metric_history', :locals => {:metric_history => metric_history, :date_history => date_history } - end - private - - def new_metric_configuration_instance - metric_configuration = Kalibro::Entities::MetricConfiguration.new - metric_configuration.metric = Kalibro::Entities::NativeMetric.new - assign_metric_configuration_instance (metric_configuration) - end - - def assign_metric_configuration_instance (metric_configuration) - metric_configuration.metric.name = params[:metric][:name] - metric_configuration.metric.description = params[:description] - metric_configuration.metric.origin = params[:metric][:origin] - metric_configuration.metric.scope = params[:scope] - metric_configuration.metric.language = params[:language] - metric_configuration.code = params[:metric_configuration][:code] - metric_configuration.weight = params[:metric_configuration][:weight] - metric_configuration.aggregation_form = params[:metric_configuration][:aggregation_form] - metric_configuration - end - - def new_range_instance - range = Kalibro::Entities::Range.new - range.beginning = params[:range][:beginning] - range.end = params[:range][:end] - range.label = params[:range][:label] - range.grade = params[:range][:grade] - range.color = params[:range][:color] - range.comments = params[:range][:comments] - range - end - end diff --git a/plugins/mezuro/test/functional/mezuro_plugin_profile_controller_test.rb b/plugins/mezuro/test/functional/mezuro_plugin_profile_controller_test.rb index 2925a83..0a6530a 100644 --- a/plugins/mezuro/test/functional/mezuro_plugin_profile_controller_test.rb +++ b/plugins/mezuro/test/functional/mezuro_plugin_profile_controller_test.rb @@ -20,13 +20,7 @@ class MezuroPluginProfileControllerTest < ActionController::TestCase @project = @project_result.project @name = @project.name - @collector = BaseToolFixtures.analizo - @base_tool_client = Kalibro::Client::BaseToolClient.new - @metric = NativeMetricFixtures.amloc - @metric_configuration_client = Kalibro::Client::MetricConfigurationClient.new - @metric_configuration = MetricConfigurationFixtures.amloc_configuration - - @date = "2012-04-13T20:39:41+04:00" + @date = "2012-04-13T20:39:41+04:00" end should 'not find module result for inexistent project content' do @@ -81,91 +75,6 @@ class MezuroPluginProfileControllerTest < ActionController::TestCase assert_select('h5', 'Metric results for: Qt-Calculator (APPLICATION)') end - should 'assign configuration name in choose_base_tool' do - get :choose_base_tool, :profile => @profile.identifier, :configuration_name => "test name" - assert_equal assigns(:configuration_name), "test name" - end - - should 'create base tool client' do - get :choose_base_tool, :profile => @profile.identifier, :configuration_name => "test name" - assert assigns(:tool_names).instance_of?(Kalibro::Client::BaseToolClient) - end - - should 'assign configuration and collector name in choose_metric' do - Kalibro::Client::BaseToolClient.expects(:new).returns(@base_tool_client) - @base_tool_client.expects(:base_tool).with(@collector.name).returns(@collector) - get :choose_metric, :profile => @profile.identifier, :configuration_name => "test name", :collector_name => "Analizo" - assert_equal assigns(:configuration_name), "test name" - assert_equal assigns(:collector_name), "Analizo" - end - - should 'get collector by name' do - Kalibro::Client::BaseToolClient.expects(:new).returns(@base_tool_client) - @base_tool_client.expects(:base_tool).with(@collector.name).returns(@collector) - get :choose_metric, :profile => @profile.identifier, :configuration_name => "test name", :collector_name => "Analizo" - assert_equal assigns(:collector), @collector - end - - should 'get choosed native metric and configuration name' do - Kalibro::Client::BaseToolClient.expects(:new).returns(@base_tool_client) - @base_tool_client.expects(:base_tool).with(@collector.name).returns(@collector) - get :new_metric_configuration, :profile => @profile.identifier, :configuration_name => "test name", :collector_name => "Analizo", :metric_name => @metric.name - assert_equal assigns(:configuration_name), "test name" - assert_equal assigns(:metric), @metric - end - - should 'assign configuration name and get metric_configuration' do - Kalibro::Client::MetricConfigurationClient.expects(:new).returns(@metric_configuration_client) - @metric_configuration_client.expects(:metric_configuration).with("test name", @metric.name).returns(@metric_configuration) - get :edit_metric_configuration, :profile => @profile.identifier, :configuration_name => "test name", :metric_name => @metric.name - assert_equal assigns(:configuration_name), "test name" - assert_equal assigns(:metric_configuration), @metric_configuration - assert_equal assigns(:metric), @metric_configuration.metric - end - - should 'test metric creation' do - Kalibro::Client::MetricConfigurationClient.expects(:new).returns(@metric_configuration_client) - @metric_configuration_client.expects(:save) - get :create_metric_configuration, :profile => @profile.identifier, :configuration_name => "test name", :description => @metric.description, - :scope => @metric.scope, :language => @metric.language, :metric => { :name => @metric.name, :origin => @metric.origin}, - :metric_configuration => { :code => @metric_configuration.code, :weight => @metric_configuration.code, :aggregation => @metric_configuration.aggregation_form } - assert_equal assigns(:configuration_name), "test name" - assert_response 302 - end - - should 'test metric edition' do - Kalibro::Client::MetricConfigurationClient.expects(:new).returns(@metric_configuration_client) - @metric_configuration_client.expects(:save) - get :create_metric_configuration, :profile => @profile.identifier, :configuration_name => "test name", :description => @metric.description, - :scope => @metric.scope, :language => @metric.language, :metric => { :name => @metric.name, :origin => @metric.origin}, - :metric_configuration => { :code => @metric_configuration.code, :weight => @metric_configuration.code, :aggregation => @metric_configuration.aggregation_form } - assert_equal assigns(:configuration_name), "test name" - assert_response 302 - end - - should 'assign configuration name and metric name to new range' do - get :new_range, :profile => @profile.identifier, :configuration_name => "test name", :metric_name => @metric.name - assert_equal assigns(:configuration_name), "test name" - assert_equal assigns(:metric_name), @metric.name - end - - should 'create instance range' do - Kalibro::Client::MetricConfigurationClient.expects(:new).returns(@metric_configuration_client) - @metric_configuration_client.expects(:metric_configuration).with("test name", @metric.name).returns(@metric_configuration) - @metric_configuration_client.expects(:save) - range = @metric_configuration.ranges[0] - get :create_range, :profile => @profile.identifier, :range => { :beginning => range.beginning, :end => range.end, :label => range.label, - :grade => range.grade, :color => range.color, :comments => range.comments }, :configuration_name => "test name", :metric_name => @metric.name - assert assigns(:range).instance_of?(Kalibro::Entities::Range) - end - - should 'redirect from remove metric configuration' do - Kalibro::Client::MetricConfigurationClient.expects(:new).returns(@metric_configuration_client) - @metric_configuration_client.expects(:remove) - get :remove_metric_configuration, :profile => @profile.identifier, :configuration_name => "test name", :metric_name => @metric.name - assert_response 302 - end - private def create_project_content -- libgit2 0.21.2