Commit 386858c6e5c2a0428d813ad373e296b6517c46cc
Committed by
Paulo Meireles
1 parent
6d8f5022
Exists in
master
and in
29 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 | ... | ... |