Commit 8cf59529a169ff0eb78e8a62b86867fe4f9439e9
Committed by
Alessandro Palmeira
1 parent
e43e7fec
Exists in
master
and in
29 other branches
[Mezuro] Completed to write tests for controller
Showing
2 changed files
with
80 additions
and
13 deletions
Show diff stats
plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb
| @@ -119,7 +119,7 @@ class MezuroPluginProfileController < ProfileController | @@ -119,7 +119,7 @@ class MezuroPluginProfileController < ProfileController | ||
| 119 | range.end = params[:range][:end] | 119 | range.end = params[:range][:end] |
| 120 | range.label = params[:range][:label] | 120 | range.label = params[:range][:label] |
| 121 | range.grade = params[:range][:grade] | 121 | range.grade = params[:range][:grade] |
| 122 | - range.color = "10" + params[:range][:color] #FIXME when you have js color pallete | 122 | + range.color = params[:range][:color] |
| 123 | range.comments = params[:range][:comments] | 123 | range.comments = params[:range][:comments] |
| 124 | range | 124 | range |
| 125 | end | 125 | end |
plugins/mezuro/test/functional/mezuro_plugin_profile_controller_test.rb
| @@ -3,6 +3,9 @@ require 'test_helper' | @@ -3,6 +3,9 @@ require 'test_helper' | ||
| 3 | require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/module_result_fixtures" | 3 | require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/module_result_fixtures" |
| 4 | require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/project_result_fixtures" | 4 | require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/project_result_fixtures" |
| 5 | require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/error_fixtures" | 5 | require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/error_fixtures" |
| 6 | +require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/base_tool_fixtures" | ||
| 7 | +require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/native_metric_fixtures" | ||
| 8 | +require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/metric_configuration_fixtures" | ||
| 6 | 9 | ||
| 7 | class MezuroPluginProfileControllerTest < ActionController::TestCase | 10 | class MezuroPluginProfileControllerTest < ActionController::TestCase |
| 8 | 11 | ||
| @@ -17,8 +20,11 @@ class MezuroPluginProfileControllerTest < ActionController::TestCase | @@ -17,8 +20,11 @@ class MezuroPluginProfileControllerTest < ActionController::TestCase | ||
| 17 | @project = @project_result.project | 20 | @project = @project_result.project |
| 18 | @name = @project.name | 21 | @name = @project.name |
| 19 | 22 | ||
| 20 | - @collector = create_collector | ||
| 21 | - @client = Kalibro::Client::BaseToolClient.new | 23 | + @collector = BaseToolFixtures.analizo |
| 24 | + @base_tool_client = Kalibro::Client::BaseToolClient.new | ||
| 25 | + @metric = NativeMetricFixtures.amloc | ||
| 26 | + @metric_configuration_client = Kalibro::Client::MetricConfigurationClient.new | ||
| 27 | + @metric_configuration = MetricConfigurationFixtures.amloc_configuration | ||
| 22 | end | 28 | end |
| 23 | 29 | ||
| 24 | should 'not find module result for inexistent project content' do | 30 | should 'not find module result for inexistent project content' do |
| @@ -79,11 +85,78 @@ class MezuroPluginProfileControllerTest < ActionController::TestCase | @@ -79,11 +85,78 @@ class MezuroPluginProfileControllerTest < ActionController::TestCase | ||
| 79 | end | 85 | end |
| 80 | 86 | ||
| 81 | should 'assign configuration and collector name in choose_metric' do | 87 | should 'assign configuration and collector name in choose_metric' do |
| 82 | - Kalibro::Client::BaseToolClient.expects(:new).returns(@client) | ||
| 83 | - @client.expects(:base_tool).with(@collector.name).returns(@collector) | ||
| 84 | - get :choose_metric, :profile => @profile.identifier, :configuration_name => "test name", :collector_name => "Collector A" | 88 | + Kalibro::Client::BaseToolClient.expects(:new).returns(@base_tool_client) |
| 89 | + @base_tool_client.expects(:base_tool).with(@collector.name).returns(@collector) | ||
| 90 | + get :choose_metric, :profile => @profile.identifier, :configuration_name => "test name", :collector_name => "Analizo" | ||
| 85 | assert_equal assigns(:configuration_name), "test name" | 91 | assert_equal assigns(:configuration_name), "test name" |
| 86 | - assert_equal assigns(:collector_name), "Collector A" | 92 | + assert_equal assigns(:collector_name), "Analizo" |
| 93 | + end | ||
| 94 | + | ||
| 95 | + should 'get collector by name' do | ||
| 96 | + Kalibro::Client::BaseToolClient.expects(:new).returns(@base_tool_client) | ||
| 97 | + @base_tool_client.expects(:base_tool).with(@collector.name).returns(@collector) | ||
| 98 | + get :choose_metric, :profile => @profile.identifier, :configuration_name => "test name", :collector_name => "Analizo" | ||
| 99 | + assert_equal assigns(:collector), @collector | ||
| 100 | + end | ||
| 101 | + | ||
| 102 | + should 'get choosed native metric and configuration name' do | ||
| 103 | + Kalibro::Client::BaseToolClient.expects(:new).returns(@base_tool_client) | ||
| 104 | + @base_tool_client.expects(:base_tool).with(@collector.name).returns(@collector) | ||
| 105 | + get :new_metric_configuration, :profile => @profile.identifier, :configuration_name => "test name", :collector_name => "Analizo", :metric_name => @metric.name | ||
| 106 | + assert_equal assigns(:configuration_name), "test name" | ||
| 107 | + assert_equal assigns(:metric), @metric | ||
| 108 | + end | ||
| 109 | + | ||
| 110 | + should 'assign configuration name and get metric_configuration' do | ||
| 111 | + Kalibro::Client::MetricConfigurationClient.expects(:new).returns(@metric_configuration_client) | ||
| 112 | + @metric_configuration_client.expects(:metric_configuration).with("test name", @metric.name).returns(@metric_configuration) | ||
| 113 | + get :edit_metric_configuration, :profile => @profile.identifier, :configuration_name => "test name", :metric_name => @metric.name | ||
| 114 | + assert_equal assigns(:configuration_name), "test name" | ||
| 115 | + assert_equal assigns(:metric_configuration), @metric_configuration | ||
| 116 | + assert_equal assigns(:metric), @metric_configuration.metric | ||
| 117 | + end | ||
| 118 | + | ||
| 119 | + should 'test metric creation' do | ||
| 120 | + Kalibro::Client::MetricConfigurationClient.expects(:new).returns(@metric_configuration_client) | ||
| 121 | + @metric_configuration_client.expects(:save) | ||
| 122 | + get :create_metric_configuration, :profile => @profile.identifier, :configuration_name => "test name", :description => @metric.description, | ||
| 123 | + :scope => @metric.scope, :language => @metric.language, :metric => { :name => @metric.name, :origin => @metric.origin}, | ||
| 124 | + :metric_configuration => { :code => @metric_configuration.code, :weight => @metric_configuration.code, :aggregation => @metric_configuration.aggregation_form } | ||
| 125 | + assert_equal assigns(:configuration_name), "test name" | ||
| 126 | + assert_response 302 | ||
| 127 | + end | ||
| 128 | + | ||
| 129 | + should 'test metric edition' do | ||
| 130 | + Kalibro::Client::MetricConfigurationClient.expects(:new).returns(@metric_configuration_client) | ||
| 131 | + @metric_configuration_client.expects(:save) | ||
| 132 | + get :create_metric_configuration, :profile => @profile.identifier, :configuration_name => "test name", :description => @metric.description, | ||
| 133 | + :scope => @metric.scope, :language => @metric.language, :metric => { :name => @metric.name, :origin => @metric.origin}, | ||
| 134 | + :metric_configuration => { :code => @metric_configuration.code, :weight => @metric_configuration.code, :aggregation => @metric_configuration.aggregation_form } | ||
| 135 | + assert_equal assigns(:configuration_name), "test name" | ||
| 136 | + assert_response 302 | ||
| 137 | + end | ||
| 138 | + | ||
| 139 | + should 'assign configuration name and metric name to new range' do | ||
| 140 | + get :new_range, :profile => @profile.identifier, :configuration_name => "test name", :metric_name => @metric.name | ||
| 141 | + assert_equal assigns(:configuration_name), "test name" | ||
| 142 | + assert_equal assigns(:metric_name), @metric.name | ||
| 143 | + end | ||
| 144 | + | ||
| 145 | + should 'create instance range' do | ||
| 146 | + Kalibro::Client::MetricConfigurationClient.expects(:new).returns(@metric_configuration_client) | ||
| 147 | + @metric_configuration_client.expects(:metric_configuration).with("test name", @metric.name).returns(@metric_configuration) | ||
| 148 | + @metric_configuration_client.expects(:save) | ||
| 149 | + range = @metric_configuration.ranges[0] | ||
| 150 | + get :create_range, :profile => @profile.identifier, :range => { :beginning => range.beginning, :end => range.end, :label => range.label, | ||
| 151 | + :grade => range.grade, :color => range.color, :comments => range.comments }, :configuration_name => "test name", :metric_name => @metric.name | ||
| 152 | + assert assigns(:range).instance_of?(Kalibro::Entities::Range) | ||
| 153 | + end | ||
| 154 | + | ||
| 155 | + should 'redirect from remove metric configuration' do | ||
| 156 | + Kalibro::Client::MetricConfigurationClient.expects(:new).returns(@metric_configuration_client) | ||
| 157 | + @metric_configuration_client.expects(:remove) | ||
| 158 | + get :remove_metric_configuration, :profile => @profile.identifier, :configuration_name => "test name", :metric_name => @metric.name | ||
| 159 | + assert_response 302 | ||
| 87 | end | 160 | end |
| 88 | 161 | ||
| 89 | private | 162 | private |
| @@ -94,10 +167,4 @@ class MezuroPluginProfileControllerTest < ActionController::TestCase | @@ -94,10 +167,4 @@ class MezuroPluginProfileControllerTest < ActionController::TestCase | ||
| 94 | @content.save | 167 | @content.save |
| 95 | end | 168 | end |
| 96 | 169 | ||
| 97 | - def create_collector | ||
| 98 | - collector = Kalibro::Entities::BaseTool.new | ||
| 99 | - collector.name = "Collector A" | ||
| 100 | - collector.supported_metrics = [] | ||
| 101 | - collector | ||
| 102 | - end | ||
| 103 | end | 170 | end |