Commit 386858c6e5c2a0428d813ad373e296b6517c46cc
Committed by
Paulo Meireles
1 parent
6d8f5022
Exists in
master
and in
23 other branches
[Mezuro] Tests for metric configuration controller.
Showing
4 changed files
with
54 additions
and
84 deletions
Show diff stats
plugins/mezuro/controllers/myprofile/mezuro_plugin_metric_configuration_controller.rb
| ... | ... | @@ -27,8 +27,7 @@ class MezuroPluginMetricConfigurationController < MezuroPluginMyprofileControlle |
| 27 | 27 | |
| 28 | 28 | def edit_native |
| 29 | 29 | @configuration_content = profile.articles.find(params[:id]) |
| 30 | - configuration_id = @configuration_content.configuration_id | |
| 31 | - metric_configurations = Kalibro::MetricConfiguration.metric_configurations_of(configuration_id) | |
| 30 | + metric_configurations = @configuration_content.metric_configurations | |
| 32 | 31 | @metric_configuration = find_metric_configuration(metric_configurations, params[:metric_configuration_id].to_i) |
| 33 | 32 | @metric = @metric_configuration.metric |
| 34 | 33 | @reading_group_names_and_ids = reading_group_names_and_ids |
| ... | ... | @@ -37,8 +36,7 @@ class MezuroPluginMetricConfigurationController < MezuroPluginMyprofileControlle |
| 37 | 36 | |
| 38 | 37 | def update |
| 39 | 38 | @configuration_content = profile.articles.find(params[:id]) |
| 40 | - configuration_id = @configuration_content.configuration_id | |
| 41 | - metric_configurations = Kalibro::MetricConfiguration.metric_configurations_of(configuration_id) | |
| 39 | + metric_configurations = @configuration_content.metric_configurations | |
| 42 | 40 | metric_configuration = find_metric_configuration(metric_configurations, params[:metric_configuration][:id].to_i) |
| 43 | 41 | metric_configuration.update_attributes params[:metric_configuration] |
| 44 | 42 | if metric_configuration_has_errors? metric_configuration |
| ... | ... | @@ -51,8 +49,7 @@ class MezuroPluginMetricConfigurationController < MezuroPluginMyprofileControlle |
| 51 | 49 | def remove |
| 52 | 50 | configuration_content = profile.articles.find(params[:id]) |
| 53 | 51 | configuration_id = configuration_content.configuration_id |
| 54 | - metric_configurations = Kalibro::MetricConfiguration.metric_configurations_of(configuration_id) | |
| 55 | - metric_configuration = find_metric_configuration(metric_configurations, params[:metric_configuration_id].to_i) | |
| 52 | + metric_configuration = Kalibro::MetricConfiguration.new({:id => params[:metric_configuration_id].to_i}) | |
| 56 | 53 | metric_configuration.destroy |
| 57 | 54 | if metric_configuration_has_errors? metric_configuration |
| 58 | 55 | redirect_to_error_page metric_configuration.errors[0].message |
| ... | ... | @@ -64,15 +61,14 @@ class MezuroPluginMetricConfigurationController < MezuroPluginMyprofileControlle |
| 64 | 61 | def new_compound |
| 65 | 62 | @configuration_content = profile.articles.find(params[:id]) |
| 66 | 63 | @metric_configurations = @configuration_content.metric_configurations |
| 67 | - @reading_group_names_and_ids = reading_group_names_and_ids | |
| 64 | + @reading_group_names_and_ids = reading_group_names_and_ids | |
| 68 | 65 | if configuration_content_has_errors? |
| 69 | 66 | redirect_to_error_page @configuration_content.errors[:base] |
| 70 | 67 | end |
| 71 | 68 | end |
| 72 | 69 | |
| 73 | 70 | def create_compound |
| 74 | - metric_configuration = Kalibro::MetricConfiguration.new(params[:metric_configuration]) | |
| 75 | - metric_configuration.save | |
| 71 | + metric_configuration = Kalibro::MetricConfiguration.create(params[:metric_configuration]) | |
| 76 | 72 | |
| 77 | 73 | if metric_configuration_has_errors? metric_configuration |
| 78 | 74 | redirect_to_error_page metric_configuration.errors[0].message |
| ... | ... | @@ -84,12 +80,11 @@ class MezuroPluginMetricConfigurationController < MezuroPluginMyprofileControlle |
| 84 | 80 | |
| 85 | 81 | def edit_compound |
| 86 | 82 | @configuration_content = profile.articles.find(params[:id]) |
| 87 | - configuration_id = @configuration_content.configuration_id | |
| 88 | - metric_configurations = Kalibro::MetricConfiguration.metric_configurations_of(configuration_id) | |
| 89 | - @metric_configuration = find_metric_configuration(metric_configurations, params[:metric_configuration_id].to_i) | |
| 83 | + @metric_configurations = @configuration_content.metric_configurations | |
| 84 | + @metric_configuration = find_metric_configuration(@metric_configurations, params[:metric_configuration_id].to_i) | |
| 90 | 85 | @metric = @metric_configuration.metric |
| 91 | 86 | @reading_group_names_and_ids = reading_group_names_and_ids |
| 92 | - @metric_configurations = metric_configurations | |
| 87 | + @ranges = Kalibro::Range.ranges_of(@metric_configuration.id) | |
| 93 | 88 | end |
| 94 | 89 | |
| 95 | 90 | private | ... | ... |
plugins/mezuro/test/functional/myprofile/mezuro_plugin_metric_configuration_controller_test.rb
| ... | ... | @@ -25,31 +25,23 @@ class MezuroPluginMetricConfigurationControllerTest < ActionController::TestCase |
| 25 | 25 | @configuration_content.expects(:validate_configuration_name).returns(true) |
| 26 | 26 | @configuration_content.stubs(:solr_save) |
| 27 | 27 | @configuration_content.save |
| 28 | - | |
| 28 | + | |
| 29 | 29 | @base_tool = BaseToolFixtures.base_tool |
| 30 | 30 | @base_tool_hash = BaseToolFixtures.base_tool_hash |
| 31 | - | |
| 31 | + | |
| 32 | 32 | @metric = MetricFixtures.amloc |
| 33 | 33 | |
| 34 | 34 | @reading_group = ReadingGroupFixtures.reading_group |
| 35 | 35 | @range = RangeFixtures.range |
| 36 | 36 | @reading = ReadingFixtures.reading |
| 37 | 37 | |
| 38 | - @metric_configuration = MetricConfigurationFixtures.amloc_metric_configuration | |
| 39 | - @metric_configuration_hash = MetricConfigurationFixtures.amloc_metric_configuration_hash | |
| 38 | + @native_metric_configuration = MetricConfigurationFixtures.amloc_metric_configuration | |
| 39 | + @native_metric_configuration_hash = MetricConfigurationFixtures.amloc_metric_configuration_hash | |
| 40 | 40 | @created_metric_configuration = MetricConfigurationFixtures.created_metric_configuration |
| 41 | 41 | @compound_metric_configuration = MetricConfigurationFixtures.sc_metric_configuration |
| 42 | -=begin | |
| 43 | 42 | @compound_metric_configuration_hash = MetricConfigurationFixtures.sc_metric_configuration_hash |
| 44 | - | |
| 45 | - | |
| 46 | - @native_hash = @metric_configuration.to_hash.merge({:configuration_name => @metric_configuration.configuration_name}) | |
| 47 | - @native_hash.delete :attributes! | |
| 48 | - @compound_hash.delete :attributes! | |
| 49 | - @compound_hash = @compound_metric_configuration.to_hash.merge({:configuration_name => @compound_metric_configuration.configuration_name}) | |
| 50 | -=end | |
| 51 | 43 | end |
| 52 | - | |
| 44 | + | |
| 53 | 45 | should 'choose metric' do |
| 54 | 46 | Kalibro::BaseTool.expects(:all).returns([@base_tool]) |
| 55 | 47 | get :choose_metric, :profile => @profile.identifier, :id => @configuration_content.id |
| ... | ... | @@ -68,27 +60,27 @@ class MezuroPluginMetricConfigurationControllerTest < ActionController::TestCase |
| 68 | 60 | assert_equal [[@reading_group.name,@reading_group.id]], assigns(:reading_group_names_and_ids) |
| 69 | 61 | assert_response :success |
| 70 | 62 | end |
| 71 | - | |
| 63 | + | |
| 72 | 64 | should 'create native' do |
| 73 | - Kalibro::MetricConfiguration.expects(:create).returns(@created_metric_configuration) #FIXME need .with(some_hash), should it mock the request?. | |
| 74 | - get :create_native, :profile => @profile.identifier, :id => @configuration_content.id, :metric_configuration => @metric_configuration_hash | |
| 65 | + Kalibro::MetricConfiguration.expects(:create).returns(@native_metric_configuration) #FIXME need .with(some_hash), should it mock the request?. | |
| 66 | + get :create_native, :profile => @profile.identifier, :id => @configuration_content.id, :metric_configuration => @native_metric_configuration_hash | |
| 75 | 67 | assert_response :redirect |
| 76 | 68 | end |
| 77 | - | |
| 69 | + | |
| 78 | 70 | should 'edit native' do |
| 79 | - Kalibro::MetricConfiguration.expects(:metric_configurations_of).with(@configuration.id).returns([@metric_configuration]) | |
| 71 | + Kalibro::MetricConfiguration.expects(:metric_configurations_of).with(@configuration.id).returns([@native_metric_configuration]) | |
| 80 | 72 | Kalibro::ReadingGroup.expects(:all).returns([@reading_group]) |
| 81 | - Kalibro::Range.expects(:ranges_of).with(@metric_configuration.id).returns([@range]) | |
| 73 | + Kalibro::Range.expects(:ranges_of).with(@native_metric_configuration.id).returns([@range]) | |
| 82 | 74 | Kalibro::Reading.expects(:find).with(@range.reading_id).returns(@reading) |
| 83 | - get :edit_native, :profile => @profile.identifier, :id => @configuration_content.id, :metric_configuration_id => @metric_configuration.id | |
| 75 | + get :edit_native, :profile => @profile.identifier, :id => @configuration_content.id, :metric_configuration_id => @native_metric_configuration.id | |
| 84 | 76 | assert_equal @configuration_content, assigns(:configuration_content) |
| 85 | - assert_equal @metric_configuration.code, assigns(:metric_configuration).code | |
| 86 | - assert_equal @metric_configuration.metric.name, assigns(:metric).name | |
| 77 | + assert_equal @native_metric_configuration.code, assigns(:metric_configuration).code | |
| 78 | + assert_equal @native_metric_configuration.metric.name, assigns(:metric).name | |
| 87 | 79 | assert_equal [[@reading_group.name,@reading_group.id]], assigns(:reading_group_names_and_ids) |
| 88 | 80 | assert_equal [@range], assigns(:ranges) |
| 89 | 81 | assert_response :success |
| 90 | 82 | end |
| 91 | - | |
| 83 | + | |
| 92 | 84 | should 'initialize compound' do |
| 93 | 85 | Kalibro::ReadingGroup.expects(:all).returns([@reading_group]) |
| 94 | 86 | Kalibro::MetricConfiguration.expects(:metric_configurations_of).with(@configuration_content.configuration_id).returns([@compound_metric_configuration]) |
| ... | ... | @@ -100,55 +92,39 @@ class MezuroPluginMetricConfigurationControllerTest < ActionController::TestCase |
| 100 | 92 | end |
| 101 | 93 | |
| 102 | 94 | should 'create compound' do |
| 103 | -=begin TODO ARRUMAR ESTE TESTE!!! | |
| 104 | - Kalibro::MetricConfiguration.expects(:request).with("MetricConfiguration", :save_metric_configuration, { | |
| 105 | - :metric_configuration => @compound_metric_configuration.to_hash, | |
| 106 | - :configuration_name => @compound_metric_configuration.configuration_name}) | |
| 107 | - get :create_compound_metric_configuration, :profile => @profile.identifier, :id => @configuration_content.id, | |
| 108 | - :metric_configuration => @compound_hash | |
| 109 | - assert_response 302 | |
| 110 | -=end | |
| 95 | + Kalibro::MetricConfiguration.expects(:create).returns(@compound_metric_configuration) #FIXME need .with(some_hash), should it mock the request?. | |
| 96 | + get :create_compound, :profile => @profile.identifier, :id => @configuration_content.id, :metric_configuration => @compound_metric_configuration_hash | |
| 97 | + assert_response :redirect | |
| 111 | 98 | end |
| 112 | 99 | |
| 113 | 100 | should 'edit compound' do |
| 114 | -=begin TODO ARRUMAR ESTE TESTE!!! | |
| 115 | - Kalibro::MetricConfiguration.expects(:request).with("MetricConfiguration", :get_metric_configuration, { | |
| 116 | - :configuration_name => @configuration_content.name, | |
| 117 | - :metric_name => @compound_metric_configuration.metric.name}).returns({:metric_configuration => @compound_metric_configuration_hash}) | |
| 118 | - Kalibro::Configuration.expects(:request).with("Configuration", :get_configuration, {:configuration_name => @configuration_content.name}).returns({:configuration => @configuration_hash}) | |
| 119 | - get :edit_compound_metric_configuration, | |
| 120 | - :profile => @profile.identifier, | |
| 121 | - :id => @configuration_content.id, | |
| 122 | - :metric_name => @compound_metric_configuration.metric.name | |
| 101 | + Kalibro::MetricConfiguration.expects(:metric_configurations_of).with(@configuration.id).returns([@compound_metric_configuration]) | |
| 102 | + Kalibro::ReadingGroup.expects(:all).returns([@reading_group]) | |
| 103 | + Kalibro::Range.expects(:ranges_of).with(@compound_metric_configuration.id).returns([@range]) | |
| 104 | + Kalibro::Reading.expects(:find).with(@range.reading_id).returns(@reading) | |
| 105 | + get :edit_compound, :profile => @profile.identifier, :id => @configuration_content.id, :metric_configuration_id => @compound_metric_configuration.id | |
| 123 | 106 | assert_equal @configuration_content, assigns(:configuration_content) |
| 124 | 107 | assert_equal @compound_metric_configuration.code, assigns(:metric_configuration).code |
| 125 | 108 | assert_equal @compound_metric_configuration.metric.name, assigns(:metric).name |
| 126 | - assert_equal @configuration.metric_configuration[0].code, assigns(:metric_configurations)[0].code | |
| 127 | - assert_response 200 | |
| 128 | -=end | |
| 109 | + assert_equal [@compound_metric_configuration], assigns(:metric_configurations) | |
| 110 | + assert_equal [[@reading_group.name,@reading_group.id]], assigns(:reading_group_names_and_ids) | |
| 111 | + assert_equal [@range], assigns(:ranges) | |
| 112 | + assert_response :success | |
| 129 | 113 | end |
| 130 | - | |
| 114 | + | |
| 131 | 115 | should 'update' do |
| 132 | -=begin TODO ARRUMAR ESTE TESTE!!! | |
| 133 | - Kalibro::MetricConfiguration.expects(:request).with("MetricConfiguration", :get_metric_configuration, { | |
| 134 | - :configuration_name => @configuration_content.name, | |
| 135 | - :metric_name => @metric_configuration.metric.name}).returns({:metric_configuration => @metric_configuration_hash}) | |
| 136 | - Kalibro::MetricConfiguration.expects(:request).with("MetricConfiguration", :save_metric_configuration, { | |
| 137 | - :metric_configuration => @metric_configuration.to_hash, | |
| 138 | - :configuration_name => @metric_configuration.configuration_name}) | |
| 139 | - get :update_metric_configuration, :profile => @profile.identifier, :id => @configuration_content.id, | |
| 140 | - :metric_configuration => @native_hash | |
| 116 | + Kalibro::MetricConfiguration.expects(:metric_configurations_of).with(@configuration_content.configuration_id).returns([@native_metric_configuration]) | |
| 117 | + @native_metric_configuration.expects(:update_attributes).returns(true) #FIXME need .with(some_hash), should it mock the request?. | |
| 118 | + get :update, :profile => @profile.identifier, :id => @configuration_content.id, :metric_configuration => @native_metric_configuration_hash | |
| 141 | 119 | assert_equal @configuration_content, assigns(:configuration_content) |
| 142 | 120 | assert_response 302 |
| 143 | -=end | |
| 144 | 121 | end |
| 145 | - | |
| 122 | + | |
| 146 | 123 | should 'remove' do |
| 147 | - Kalibro::MetricConfiguration.expects(:metric_configurations_of).with(@configuration.id).returns([@metric_configuration]) | |
| 148 | - @metric_configuration.expects(:destroy).returns() | |
| 149 | - get :remove, :profile => @profile.identifier, :id => @configuration_content.id, :metric_configuration_id => @metric_configuration.id | |
| 124 | + Kalibro::MetricConfiguration.expects(:new).with({:id => @native_metric_configuration.id}).returns(@native_metric_configuration) | |
| 125 | + @native_metric_configuration.expects(:destroy).returns() | |
| 126 | + get :remove, :profile => @profile.identifier, :id => @configuration_content.id, :metric_configuration_id => @native_metric_configuration.id | |
| 150 | 127 | assert_response 302 |
| 151 | 128 | end |
| 152 | 129 | |
| 153 | - | |
| 154 | 130 | end | ... | ... |
plugins/mezuro/views/mezuro_plugin_metric_configuration/_native_metric_configuration_form.rhtml
| 1 | 1 | <% form_for :metric_configuration, :url => {:action =>"update", :controller => "mezuro_plugin_metric_configuration"}, :method => :get do |f| %> |
| 2 | 2 | <%= hidden_field_tag :id, @configuration_content.id %> |
| 3 | 3 | <%= f.hidden_field :configuration_id, :value => @configuration_content.configuration_id %> |
| 4 | - <%= f.hidden_field :id, :value => @metric_configuration.id %> | |
| 4 | + <%= f.hidden_field :id %> | |
| 5 | 5 | |
| 6 | - <%= labelled_form_field _('Collector Name:'), f.text_field(:base_tool_name, :value => @base_tool_name, :readonly => true) %> | |
| 6 | + <%= labelled_form_field _('Collector Name:'), f.text_field(:base_tool_name, :readonly => true) %> | |
| 7 | 7 | |
| 8 | 8 | <% f.fields_for :metric do |m| %> |
| 9 | 9 | <%= m.hidden_field :compound, :value => "false" %> |
| ... | ... | @@ -18,13 +18,12 @@ |
| 18 | 18 | <%= required labelled_form_field _('Code:'), f.text_field(:code) %> |
| 19 | 19 | |
| 20 | 20 | <%= required labelled_form_field _('Aggregation Form:'), |
| 21 | - f.select(:aggregation_form, MezuroPlugin::Helpers::ContentViewerHelper.aggregation_options, | |
| 22 | - :selected => @metric_configuration.aggregation_form ) %> | |
| 21 | + f.select(:aggregation_form, MezuroPlugin::Helpers::ContentViewerHelper.aggregation_options) %> | |
| 23 | 22 | |
| 24 | 23 | <%= required labelled_form_field _('Weight:'), f.text_field(:weight) %> |
| 25 | 24 | |
| 26 | 25 | <%= required labelled_form_field _('Reading Group:'), |
| 27 | - f.select(:reading_group_id, @reading_group_names_and_ids, :selected => @metric_configuration.reading_group_id.to_i) %> | |
| 26 | + f.select(:reading_group_id, @reading_group_names_and_ids) %> | |
| 28 | 27 | |
| 29 | 28 | <p> |
| 30 | 29 | <%= f.submit "Save" %> | ... | ... |
plugins/mezuro/views/mezuro_plugin_metric_configuration/edit_compound.html.erb
| ... | ... | @@ -4,10 +4,12 @@ |
| 4 | 4 | |
| 5 | 5 | <h2><%= @configuration_content.name %> Configuration</h2> |
| 6 | 6 | |
| 7 | +<% owner = (not user.nil?) && user.id == @profile.id %> | |
| 8 | + | |
| 7 | 9 | <% form_for :metric_configuration, :url => {:action =>"update", :controller => "mezuro_plugin_metric_configuration"}, :method => :get do |f| %> |
| 8 | 10 | <%= hidden_field_tag :id, @configuration_content.id %> |
| 9 | 11 | <%= f.hidden_field :configuration_id, :value => @configuration_content.configuration_id %> |
| 10 | - <%= f.hidden_field :id, :value => @metric_configuration.id %> | |
| 12 | + <%= f.hidden_field :id %> | |
| 11 | 13 | |
| 12 | 14 | <% f.fields_for :metric do |m| %> |
| 13 | 15 | <%= m.hidden_field :compound, :value => "true" %> |
| ... | ... | @@ -18,13 +20,11 @@ |
| 18 | 20 | m.select(:scope, MezuroPlugin::Helpers::ContentViewerHelper.scope_options, :selected => @metric.scope) %> |
| 19 | 21 | <% end %> |
| 20 | 22 | |
| 21 | - <%= required labelled_form_field _('Code:'), f.text_field(:code), :value => @metric_configuration.code %> | |
| 23 | + <%= required labelled_form_field _('Code:'), f.text_field(:code) %> | |
| 22 | 24 | <%= required labelled_form_field _('Aggregation Form:'), |
| 23 | - f.select(:aggregation_form, MezuroPlugin::Helpers::ContentViewerHelper.aggregation_options, | |
| 24 | - :selected => @metric_configuration.aggregation_form ) %> | |
| 25 | - <%= required labelled_form_field _('Weight:'), f.text_field(:weight), :value => @metric_configuration.weight %> | |
| 26 | - <%= required labelled_form_field _('Reading Group:'), f.select(:reading_group_id, @reading_group_names_and_ids, | |
| 27 | - :selected => @metric_configuration.reading_group_id.to_i) %> | |
| 25 | + f.select(:aggregation_form, MezuroPlugin::Helpers::ContentViewerHelper.aggregation_options) %> | |
| 26 | + <%= required labelled_form_field _('Weight:'), f.text_field(:weight) %> | |
| 27 | + <%= required labelled_form_field _('Reading Group:'), f.select(:reading_group_id, @reading_group_names_and_ids) %> | |
| 28 | 28 | |
| 29 | 29 | <p><%= f.submit "Save" %></p> |
| 30 | 30 | ... | ... |