Commit 3e26c2be4f6e87b47c3d3cc6515a181559253751
1 parent
2ca9dda6
Exists in
master
and in
22 other branches
[Mezuro] Refactoring mezuro_plugin_base_tool controller
Showing
7 changed files
with
95 additions
and
32 deletions
Show diff stats
plugins/mezuro/controllers/mezuro_plugin_myprofile_controller.rb
| @@ -11,18 +11,6 @@ class MezuroPluginMyprofileController < ProfileController | @@ -11,18 +11,6 @@ class MezuroPluginMyprofileController < ProfileController | ||
| 11 | @message = params[:message] | 11 | @message = params[:message] |
| 12 | end | 12 | end |
| 13 | 13 | ||
| 14 | - def choose_base_tool | ||
| 15 | - @configuration_content = profile.articles.find(params[:id]) | ||
| 16 | - @base_tools = Kalibro::BaseTool.all_names | ||
| 17 | - end | ||
| 18 | - | ||
| 19 | - def choose_metric | ||
| 20 | - @configuration_content = profile.articles.find(params[:id]) | ||
| 21 | - @base_tool = params[:base_tool] | ||
| 22 | - base_tool = Kalibro::BaseTool.find_by_name(@base_tool) | ||
| 23 | - @supported_metrics = base_tool.nil? ? [] : base_tool.supported_metrics | ||
| 24 | - end | ||
| 25 | - | ||
| 26 | def new_metric_configuration | 14 | def new_metric_configuration |
| 27 | @configuration_content = profile.articles.find(params[:id]) | 15 | @configuration_content = profile.articles.find(params[:id]) |
| 28 | @metric = Kalibro::BaseTool.find_by_name(params[:base_tool]).metric params[:metric_name] | 16 | @metric = Kalibro::BaseTool.find_by_name(params[:base_tool]).metric params[:metric_name] |
plugins/mezuro/controllers/myprofile/mezuro_plugin_base_tool_controller.rb
0 → 100644
| @@ -0,0 +1,17 @@ | @@ -0,0 +1,17 @@ | ||
| 1 | +class MezuroPluginBaseToolController < MezuroPluginMyprofileController | ||
| 2 | + | ||
| 3 | + append_view_path File.join(File.dirname(__FILE__) + '/../../views') | ||
| 4 | + | ||
| 5 | + def choose_base_tool | ||
| 6 | + @configuration_content = profile.articles.find(params[:id]) | ||
| 7 | + @base_tools = Kalibro::BaseTool.all_names | ||
| 8 | + end | ||
| 9 | + | ||
| 10 | + def choose_metric | ||
| 11 | + @configuration_content = profile.articles.find(params[:id]) | ||
| 12 | + @base_tool = params[:base_tool] | ||
| 13 | + base_tool = Kalibro::BaseTool.find_by_name(@base_tool) | ||
| 14 | + @supported_metrics = base_tool.nil? ? [] : base_tool.supported_metrics | ||
| 15 | + end | ||
| 16 | + | ||
| 17 | +end |
plugins/mezuro/test/functional/mezuro_plugin_myprofile_controller_test.rb
| @@ -36,23 +36,6 @@ class MezuroPluginMyprofileControllerTest < ActionController::TestCase | @@ -36,23 +36,6 @@ class MezuroPluginMyprofileControllerTest < ActionController::TestCase | ||
| 36 | @compound_hash.delete :attributes! | 36 | @compound_hash.delete :attributes! |
| 37 | end | 37 | end |
| 38 | 38 | ||
| 39 | - should 'test choose base tool' do | ||
| 40 | - Kalibro::BaseTool.expects(:request).with("BaseTool", :get_base_tool_names).returns({:base_tool_name => @base_tool.name}) | ||
| 41 | - get :choose_base_tool, :profile => @profile.identifier, :id => @content.id | ||
| 42 | - assert_equal [@base_tool.name], assigns(:base_tools) | ||
| 43 | - assert_equal @content, assigns(:configuration_content) | ||
| 44 | - assert_response 200 | ||
| 45 | - end | ||
| 46 | - | ||
| 47 | - should 'test choose metric' do | ||
| 48 | - Kalibro::BaseTool.expects(:request).with("BaseTool", :get_base_tool, {:base_tool_name => @base_tool.name}).returns({:base_tool => @base_tool_hash}) | ||
| 49 | - get :choose_metric, :profile => @profile.identifier, :id => @content.id, :base_tool => @base_tool.name | ||
| 50 | - assert_equal @content, assigns(:configuration_content) | ||
| 51 | - assert_equal @base_tool.name, assigns(:base_tool) | ||
| 52 | - assert_equal @base_tool.supported_metric[0].name, assigns(:supported_metrics)[0].name | ||
| 53 | - assert_response 200 | ||
| 54 | - end | ||
| 55 | - | ||
| 56 | should 'test new metric configuration' do | 39 | should 'test new metric configuration' do |
| 57 | Kalibro::BaseTool.expects(:request).with("BaseTool", :get_base_tool, {:base_tool_name => @base_tool.name}).returns({:base_tool => @base_tool_hash}) | 40 | Kalibro::BaseTool.expects(:request).with("BaseTool", :get_base_tool, {:base_tool_name => @base_tool.name}).returns({:base_tool => @base_tool_hash}) |
| 58 | get :new_metric_configuration, :profile => @profile.identifier, :id => @content.id, :base_tool => @base_tool.name, :metric_name => @metric.name | 41 | get :new_metric_configuration, :profile => @profile.identifier, :id => @content.id, :base_tool => @base_tool.name, :metric_name => @metric.name |
| @@ -60,8 +43,7 @@ class MezuroPluginMyprofileControllerTest < ActionController::TestCase | @@ -60,8 +43,7 @@ class MezuroPluginMyprofileControllerTest < ActionController::TestCase | ||
| 60 | assert_equal @metric.name, assigns(:metric).name | 43 | assert_equal @metric.name, assigns(:metric).name |
| 61 | assert_response 200 | 44 | assert_response 200 |
| 62 | end | 45 | end |
| 63 | - | ||
| 64 | - | 46 | + |
| 65 | should 'test new compound metric configuration' do | 47 | should 'test new compound metric configuration' do |
| 66 | Kalibro::Configuration.expects(:request).with("Configuration", :get_configuration, {:configuration_name => @content.name}).returns({:configuration => @configuration_hash}) | 48 | Kalibro::Configuration.expects(:request).with("Configuration", :get_configuration, {:configuration_name => @content.name}).returns({:configuration => @configuration_hash}) |
| 67 | get :new_compound_metric_configuration, :profile => @profile.identifier, :id => @content.id | 49 | get :new_compound_metric_configuration, :profile => @profile.identifier, :id => @content.id |
plugins/mezuro/test/functional/myprofile/mezuro_plugin_base_tool_controller_test.rb
0 → 100644
| @@ -0,0 +1,42 @@ | @@ -0,0 +1,42 @@ | ||
| 1 | +require 'test_helper' | ||
| 2 | + | ||
| 3 | +require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/base_tool_fixtures" | ||
| 4 | +require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/configuration_fixtures" | ||
| 5 | + | ||
| 6 | +class MezuroPluginBaseToolControllerTest < ActionController::TestCase | ||
| 7 | + | ||
| 8 | + def setup | ||
| 9 | + @controller = MezuroPluginBaseToolController.new | ||
| 10 | + @request = ActionController::TestRequest.new | ||
| 11 | + @response = ActionController::TestResponse.new | ||
| 12 | + @profile = fast_create(Community) | ||
| 13 | + | ||
| 14 | + @base_tool = BaseToolFixtures.base_tool | ||
| 15 | + @base_tool_hash = BaseToolFixtures.base_tool_hash | ||
| 16 | + @configuration = ConfigurationFixtures.configuration | ||
| 17 | + | ||
| 18 | + Kalibro::Configuration.expects(:all_names).returns([]) | ||
| 19 | + @content = MezuroPlugin::ConfigurationContent.new(:profile => @profile, :name => @configuration.name) | ||
| 20 | + @content.expects(:send_kalibro_configuration_to_service).returns(nil) | ||
| 21 | + @content.stubs(:solr_save) | ||
| 22 | + @content.save | ||
| 23 | + end | ||
| 24 | + | ||
| 25 | + should 'test choose base tool' do | ||
| 26 | + Kalibro::BaseTool.expects(:request).with("BaseTool", :get_base_tool_names).returns({:base_tool_name => @base_tool.name}) | ||
| 27 | + get :choose_base_tool, :profile => @profile.identifier, :id => @content.id | ||
| 28 | + assert_equal [@base_tool.name], assigns(:base_tools) | ||
| 29 | + assert_equal @content, assigns(:configuration_content) | ||
| 30 | + assert_response 200 | ||
| 31 | + end | ||
| 32 | + | ||
| 33 | + should 'test choose metric' do | ||
| 34 | + Kalibro::BaseTool.expects(:request).with("BaseTool", :get_base_tool, {:base_tool_name => @base_tool.name}).returns({:base_tool => @base_tool_hash}) | ||
| 35 | + get :choose_metric, :profile => @profile.identifier, :id => @content.id, :base_tool => @base_tool.name | ||
| 36 | + assert_equal @content, assigns(:configuration_content) | ||
| 37 | + assert_equal @base_tool.name, assigns(:base_tool) | ||
| 38 | + assert_equal @base_tool.supported_metric[0].name, assigns(:supported_metrics)[0].name | ||
| 39 | + assert_response 200 | ||
| 40 | + end | ||
| 41 | + | ||
| 42 | +end |
plugins/mezuro/views/content_viewer/show_configuration.rhtml
| @@ -22,7 +22,7 @@ | @@ -22,7 +22,7 @@ | ||
| 22 | 22 | ||
| 23 | <br/> | 23 | <br/> |
| 24 | 24 | ||
| 25 | - <%= link_to "#{image_tag ('/plugins/mezuro/images/plus.png')}Add Metric", :controller => "mezuro_plugin_myprofile", | 25 | + <%= link_to "#{image_tag ('/plugins/mezuro/images/plus.png')}Add Metric", :controller => "mezuro_plugin_base_tool", |
| 26 | :action => "choose_base_tool", :params => { :id => @configuration_content.id } %><br/> | 26 | :action => "choose_base_tool", :params => { :id => @configuration_content.id } %><br/> |
| 27 | 27 | ||
| 28 | <table> | 28 | <table> |
plugins/mezuro/views/mezuro_plugin_base_tool/choose_base_tool.html.erb
0 → 100644
| @@ -0,0 +1,16 @@ | @@ -0,0 +1,16 @@ | ||
| 1 | +<h2><%= @configuration_content.name%> Configuration</h2> | ||
| 2 | + | ||
| 3 | +<%= link_to "New Compound Metric", :controller => "mezuro_plugin_myprofile", :action => "new_compound_metric_configuration", :params => | ||
| 4 | +{ :id => @configuration_content.id } %> | ||
| 5 | + | ||
| 6 | +<h5>Base Tools:</h5> | ||
| 7 | +<table id="project_info"> | ||
| 8 | + <% @base_tools.each do |base_tool| %> | ||
| 9 | + <tr> | ||
| 10 | + <td> | ||
| 11 | + <%= link_to base_tool, :controller => "mezuro_plugin_base_tool", :action => "choose_metric", :params => | ||
| 12 | + { :base_tool => base_tool, :id => @configuration_content.id} %> | ||
| 13 | + </td> | ||
| 14 | + </tr> | ||
| 15 | + <% end %> | ||
| 16 | +</table> |
plugins/mezuro/views/mezuro_plugin_base_tool/choose_metric.html.erb
0 → 100644
| @@ -0,0 +1,18 @@ | @@ -0,0 +1,18 @@ | ||
| 1 | +<h2><%= @configuration_content.name %> Configuration</h2> | ||
| 2 | + | ||
| 3 | +<table id="project_info"> | ||
| 4 | + <tr> | ||
| 5 | + <h5>Metric Collector: <%= @base_tool %></h5> | ||
| 6 | + </tr> | ||
| 7 | + <tr> | ||
| 8 | + <h5>Choose a metric to add:</h5> | ||
| 9 | + </tr> | ||
| 10 | + <% @supported_metrics.each do |metric| %> | ||
| 11 | + <tr class="metric" title="<%= metric.name %>"> | ||
| 12 | + <td> | ||
| 13 | + <%= link_to metric.name, :controller => "mezuro_plugin_myprofile", :action => "new_metric_configuration", :params => {:metric_name => metric.name, | ||
| 14 | + :base_tool => @base_tool, :id => @configuration_content.id } %> | ||
| 15 | + </td> | ||
| 16 | + </tr> | ||
| 17 | + <% end %> | ||
| 18 | +</table> |