diff --git a/plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb b/plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb index be52227..37825b7 100644 --- a/plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb +++ b/plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb @@ -119,7 +119,7 @@ class MezuroPluginProfileController < ProfileController range.end = params[:range][:end] range.label = params[:range][:label] range.grade = params[:range][:grade] - range.color = "10" + params[:range][:color] #FIXME when you have js color pallete + range.color = params[:range][:color] range.comments = params[:range][:comments] range 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 5879e74..b8e4383 100644 --- a/plugins/mezuro/test/functional/mezuro_plugin_profile_controller_test.rb +++ b/plugins/mezuro/test/functional/mezuro_plugin_profile_controller_test.rb @@ -3,6 +3,9 @@ require 'test_helper' require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/module_result_fixtures" require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/project_result_fixtures" require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/error_fixtures" +require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/base_tool_fixtures" +require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/native_metric_fixtures" +require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/metric_configuration_fixtures" class MezuroPluginProfileControllerTest < ActionController::TestCase @@ -17,8 +20,11 @@ class MezuroPluginProfileControllerTest < ActionController::TestCase @project = @project_result.project @name = @project.name - @collector = create_collector - @client = Kalibro::Client::BaseToolClient.new + @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 end should 'not find module result for inexistent project content' do @@ -79,11 +85,78 @@ class MezuroPluginProfileControllerTest < ActionController::TestCase end should 'assign configuration and collector name in choose_metric' do - Kalibro::Client::BaseToolClient.expects(:new).returns(@client) - @client.expects(:base_tool).with(@collector.name).returns(@collector) - get :choose_metric, :profile => @profile.identifier, :configuration_name => "test name", :collector_name => "Collector A" + 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), "Collector A" + 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 @@ -94,10 +167,4 @@ class MezuroPluginProfileControllerTest < ActionController::TestCase @content.save end - def create_collector - collector = Kalibro::Entities::BaseTool.new - collector.name = "Collector A" - collector.supported_metrics = [] - collector - end end -- libgit2 0.21.2