Commit 386858c6e5c2a0428d813ad373e296b6517c46cc

Authored by João M. M. da Silva + Diego Araújo
Committed by Paulo Meireles
1 parent 6d8f5022

[Mezuro] Tests for metric configuration controller.

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  
... ...