Commit b18ed7d246288a6fc84677b0c13e384fd00bcff6
Committed by
João M. M. da Silva
1 parent
80d599e0
Exists in
master
and in
29 other branches
[Mezuro] refactored module controller tests
Showing
8 changed files
with
52 additions
and
86 deletions
Show diff stats
plugins/mezuro/controllers/profile/mezuro_plugin_module_result_controller.rb
1 | -#TODO refatorar todo o controller e seus testes funcionais | |
2 | 1 | class MezuroPluginModuleResultController < MezuroPluginProfileController |
3 | 2 | |
4 | 3 | append_view_path File.join(File.dirname(__FILE__) + '/../../views') |
... | ... | @@ -9,7 +8,8 @@ class MezuroPluginModuleResultController < MezuroPluginProfileController |
9 | 8 | end |
10 | 9 | |
11 | 10 | def metric_results |
12 | - @metric_results = Kalibro::MetricResult.metric_results_of(params[:module_result_id].to_i) | |
11 | + @module_result_id = params[:module_result_id].to_i | |
12 | + @metric_results = Kalibro::MetricResult.metric_results_of(@module_result_id) | |
13 | 13 | render :partial => 'metric_results' |
14 | 14 | end |
15 | 15 | ... | ... |
plugins/mezuro/controllers/profile/mezuro_plugin_processing_controller.rb
plugins/mezuro/lib/kalibro/metric_result.rb
... | ... | @@ -23,11 +23,17 @@ class Kalibro::MetricResult < Kalibro::Model |
23 | 23 | end |
24 | 24 | |
25 | 25 | def self.metric_results_of(module_result_id) |
26 | - request(:metric_results_of, {:module_result_id => module_result_id})[:metric_result].to_a.map {|metric_result| new metric_result} | |
26 | + response = request(:metric_results_of, {:module_result_id => module_result_id})[:metric_result] | |
27 | + response = [] if response.nil? | |
28 | + response = [response] if response.is_a?(Hash) | |
29 | + response.map {|metric_result| new metric_result} | |
27 | 30 | end |
28 | 31 | |
29 | 32 | def self.history_of(metric_name, module_result_id) |
30 | - self.request(:history_of, {:metric_name => metric_name, :module_result_id => module_result_id})[:date_metric_result].to_a.map {|date_metric_result| Kalibro::DateMetricResult.new date_metric_result} | |
33 | + response = self.request(:history_of, {:metric_name => metric_name, :module_result_id => module_result_id})[:date_metric_result] | |
34 | + response = [] if response.nil? | |
35 | + response = [response] if response.is_a?(Hash) | |
36 | + response.map {|date_metric_result| Kalibro::DateMetricResult.new date_metric_result} | |
31 | 37 | end |
32 | 38 | |
33 | 39 | end | ... | ... |
plugins/mezuro/lib/kalibro/module_result.rb
... | ... | @@ -20,7 +20,10 @@ class Kalibro::ModuleResult < Kalibro::Model |
20 | 20 | end |
21 | 21 | |
22 | 22 | def self.history_of(module_result_id) |
23 | - self.request(:history_of_module, {:module_result_id => module_result_id})[:date_module_result].to_a.map {|date_module_result| Kalibro::DateModuleResult.new date_module_result} | |
23 | + response = self.request(:history_of_module, {:module_result_id => module_result_id})[:date_module_result] | |
24 | + response = [] if response.nil? | |
25 | + response = [response] if response.is_a?(Hash) | |
26 | + response.map {|date_module_result| Kalibro::DateModuleResult.new date_module_result} | |
24 | 27 | end |
25 | 28 | |
26 | 29 | end | ... | ... |
plugins/mezuro/test/functional/profile/mezuro_plugin_module_result_controller_test.rb
1 | 1 | require 'test_helper' |
2 | 2 | |
3 | 3 | require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/module_result_fixtures" |
4 | -require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/repository_fixtures" | |
5 | -require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/project_fixtures" | |
4 | +require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/metric_result_fixtures" | |
5 | +require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/date_metric_result_fixtures" | |
6 | +require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/date_module_result_fixtures" | |
6 | 7 | |
7 | -#TODO refatorar todos os testes | |
8 | 8 | class MezuroPluginModuleResultControllerTest < ActionController::TestCase |
9 | 9 | |
10 | 10 | def setup |
... | ... | @@ -13,90 +13,48 @@ class MezuroPluginModuleResultControllerTest < ActionController::TestCase |
13 | 13 | @response = ActionController::TestResponse.new |
14 | 14 | @profile = fast_create(Community) |
15 | 15 | |
16 | -=begin | |
17 | - #@project_result = ProjectResultFixtures.project_result | |
18 | - @module_result = ModuleResultFixtures.module_result | |
19 | - @repository_url = RepositoryFixtures.repository.address | |
20 | - @project = ProjectFixtures.project | |
21 | - @date = "2012-04-13T20:39:41+04:00" | |
22 | - | |
23 | - #Kalibro::Project.expects(:all_names).returns([]) | |
24 | - @content = MezuroPlugin::ProjectContent.new(:profile => @profile, :project_id => @project.id) | |
25 | - @content.expects(:send_project_to_service).returns(nil) | |
26 | - @content.save | |
27 | -=end | |
16 | + @module_result_hash = ModuleResultFixtures.module_result_hash | |
17 | + @metric_result_hash = MetricResultFixtures.native_metric_result_hash | |
18 | + @date_metric_result_hash = DateMetricResultFixtures.date_metric_result_hash | |
19 | + @date_module_result_hash = DateModuleResultFixtures.date_module_result_hash | |
28 | 20 | end |
29 | 21 | |
30 | - should 'get module result' do | |
31 | - end | |
32 | - | |
33 | -=begin | |
34 | - should 'get module result without date' do | |
35 | - date_with_milliseconds = Kalibro::ProjectResult.date_with_milliseconds(@project_result.date) | |
36 | - Kalibro::ProjectResult.expects(:request). | |
37 | - with("ProjectResult", :get_last_result_of, {:project_name => @project.name}). | |
38 | - returns({:project_result => @project_result.to_hash}) | |
39 | - Kalibro::ModuleResult.expects(:request). | |
40 | - with("ModuleResult", :get_module_result, {:project_name => @project.name, :module_name => @project.name, :date => date_with_milliseconds}). | |
41 | - returns({:module_result => @module_result.to_hash}) | |
42 | - get :module_result, :profile => @profile.identifier, :id => @content.id, :module_name => @project.name, :date => nil | |
43 | - assert_equal @content, assigns(:content) | |
44 | - assert_equal @module_result.grade, assigns(:module_result).grade | |
22 | + should 'find module result on kalibro' do | |
23 | + Kalibro::ModuleResult.expects(:request).with(:get_module_result, { :module_result_id => @module_result_hash[:id] }). | |
24 | + returns({:module_result => @module_result_hash}) | |
25 | + get :module_result, :profile => @profile.identifier, :module_result_id => @module_result_hash[:id] | |
26 | + assert_equal @module_result_hash[:grade], assigns(:module_result).grade | |
45 | 27 | assert_response 200 |
46 | - assert_select('h5', 'Metric results for: Qt-Calculator (APPLICATION)') | |
28 | + #TODO assert_select('h5', 'Metric results for: Qt-Calculator (APPLICATION)') | |
47 | 29 | end |
48 | 30 | |
49 | - should 'get module result with a specific date' do | |
50 | - date_with_milliseconds = Kalibro::ProjectResult.date_with_milliseconds(@project_result.date) | |
51 | - request_body = {:project_name => @project.name, :date => @project_result.date} | |
52 | - Kalibro::ProjectResult.expects(:request).with("ProjectResult", :has_results_before, request_body).returns({:has_results => true}) | |
53 | - Kalibro::ProjectResult.expects(:request).with("ProjectResult", :get_last_result_before, request_body).returns({:project_result => @project_result.to_hash}) | |
54 | - Kalibro::ModuleResult.expects(:request).with("ModuleResult", :get_module_result, {:project_name => @project.name, :module_name => @project.name, :date => date_with_milliseconds}).returns({:module_result => @module_result.to_hash}) | |
55 | - get :module_result, :profile => @profile.identifier, :id => @content.id, :module_name => @project.name, :date => @project_result.date | |
56 | - assert_equal @content, assigns(:content) | |
57 | - assert_equal @module_result.grade, assigns(:module_result).grade | |
31 | + should 'get metric_results' do | |
32 | + Kalibro::MetricResult.expects(:request).with(:metric_results_of, { :module_result_id => @module_result_hash[:id] }). | |
33 | + returns({:metric_result => @metric_result_hash}) | |
34 | + get :metric_results, :profile => @profile.identifier, :module_result_id => @module_result_hash[:id] | |
35 | + assert_equal @metric_result_hash[:value], assigns(:metric_results).first.value | |
36 | + assert_equal @module_result_hash[:id], assigns(:module_result_id) | |
58 | 37 | assert_response 200 |
59 | - assert_select('h5', 'Metric results for: Qt-Calculator (APPLICATION)') | |
38 | + #TODO assert_select('h5', 'Metric results for: Qt-Calculator (APPLICATION)') | |
60 | 39 | end |
61 | 40 | |
62 | - should 'test module metrics history' do | |
63 | - Kalibro::ModuleResult.expects(:request).with("ModuleResult", :get_result_history, {:project_name => @project.name, :module_name => @project.name}).returns({:module_result => @module_result}) | |
64 | - get :module_metrics_history, :profile => @profile.identifier, :id => @content.id, :module_name => @project.name, | |
65 | - :metric_name => @module_result.metric_result.first.metric.name.delete("() ") | |
66 | - assert_equal @content, assigns(:content) | |
67 | - assert_equal [[@module_result.metric_result[0].value, @module_result.date.to_s[0..9]]], assigns(:score_history) | |
41 | + should 'get metric result history' do | |
42 | + metric_name = @metric_result_hash[:configuration][:metric][:name] | |
43 | + Kalibro::MetricResult.expects(:request).with(:history_of, { :metric_name => metric_name, :module_result_id => @module_result_hash[:id] }). | |
44 | + returns({:date_metric_result => @date_metric_result_hash}) | |
45 | + get :metric_result_history, :profile => @profile.identifier, :module_result_id => @module_result_hash[:id], :metric_name => metric_name | |
46 | + assert_equal @date_metric_result_hash[:date], assigns(:date_metric_results).first.date | |
68 | 47 | assert_response 200 |
48 | + #TODO assert_select | |
69 | 49 | end |
70 | - | |
71 | - should 'test grade history' do | |
72 | - Kalibro::ModuleResult.expects(:request).with("ModuleResult", :get_result_history, {:project_name => @project.name, :module_name => @project.name}).returns({:module_result => @module_result}) | |
73 | - get :module_grade_history, :profile => @profile.identifier, :id => @content.id, :module_name => @project.name | |
74 | - assert_equal @content, assigns(:content) | |
75 | - assert_equal [[@module_result.grade, @module_result.date.to_s[0..9]]], assigns(:score_history) | |
50 | + | |
51 | + should 'get module result history' do | |
52 | + Kalibro::ModuleResult.expects(:request).with(:history_of_module, { :module_result_id => @module_result_hash[:id] }). | |
53 | + returns({:date_module_result => @date_module_result_hash}) | |
54 | + get :module_result_history, :profile => @profile.identifier, :module_result_id => @module_result_hash[:id] | |
55 | + assert_equal @date_module_result_hash[:date], assigns(:date_module_results).first.date | |
76 | 56 | assert_response 200 |
57 | + #TODO assert_select | |
77 | 58 | end |
78 | 59 | |
79 | - should 'test project tree without date' do | |
80 | - Kalibro::Processing.expects(:request).with("Processing", :get_last_result_of, {:project_name => @project.name}).returns({:project_result => @project_result.to_hash}) | |
81 | - Kalibro::Project.expects(:request).with("Project", :get_project, :project_name => @project.name).returns({:project => @project.to_hash}) | |
82 | - get :project_tree, :profile => @profile.identifier, :id => @content.id, :module_name => @project.name, :date => nil | |
83 | - assert_equal @content, assigns(:content) | |
84 | - assert_equal @project.name, assigns(:project_name) | |
85 | - assert_equal @project_result.source_tree.module.name, assigns(:source_tree).module.name | |
86 | - assert_response 200 | |
87 | - assert_select('h2', /Qt-Calculator/) | |
88 | - end | |
89 | - | |
90 | - should 'test project tree with a specific date' do | |
91 | - request_body = {:project_name => @project.name, :date => @project_result.date} | |
92 | - Kalibro::Project.expects(:request).with("Project", :get_project, :project_name => @project.name).returns({:project => @project.to_hash}) | |
93 | - Kalibro::Processing.expects(:request).with("Processing", :has_results_before, request_body).returns({:has_results => true}) | |
94 | - Kalibro::Processing.expects(:request).with("Processing", :get_last_result_before, request_body).returns({:project_result => @project_result.to_hash}) | |
95 | - get :project_tree, :profile => @profile.identifier, :id => @content.id, :module_name => @project.name, :date => @project_result.date | |
96 | - assert_equal @content, assigns(:content) | |
97 | - assert_equal @project.name, assigns(:project_name) | |
98 | - assert_equal @project_result.source_tree.module.name, assigns(:source_tree).module.name | |
99 | - assert_response 200 | |
100 | - end | |
101 | -=end | |
102 | 60 | end | ... | ... |
plugins/mezuro/test/unit/kalibro/date_module_result_test.rb
... | ... | @@ -5,7 +5,7 @@ require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/date_module_result_fixtures" |
5 | 5 | class DateModuleResultTest < ActiveSupport::TestCase |
6 | 6 | |
7 | 7 | def setup |
8 | - @hash = DateModule.date_module_result_hash | |
8 | + @hash = DateModuleResultFixtures.date_module_result_hash | |
9 | 9 | @date_module_result = DateModuleResultFixtures.date_module_result |
10 | 10 | end |
11 | 11 | ... | ... |
plugins/mezuro/test/unit/kalibro/metric_result_test.rb
... | ... | @@ -32,8 +32,8 @@ class MetricResultTest < ActiveSupport::TestCase |
32 | 32 | end |
33 | 33 | |
34 | 34 | should 'return history of a metric with a module result id' do |
35 | - module_id = 31 | |
36 | - Kalibro::MetricResult.expects(:request).with(:history_of, {:metric_name => @result.configuration.metric.name, :module_result_id => module_id}).returns({:date_metric_result => [DateMetricResultFixtures.date_metric_result_hash]}) | |
35 | + module_result_id = 31 | |
36 | + Kalibro::MetricResult.expects(:request).with(:history_of, {:metric_name => @result.configuration.metric.name, :module_result_id => module_result_id}).returns({:date_metric_result => [DateMetricResultFixtures.date_metric_result_hash]}) | |
37 | 37 | assert_equal DateMetricResultFixtures.date_metric_result_hash[:metric_result][:id], Kalibro::MetricResult.history_of(@result.configuration.metric.name, module_result_id).first.metric_result.id |
38 | 38 | end |
39 | 39 | ... | ... |
plugins/mezuro/test/unit/kalibro/module_result_test.rb
... | ... | @@ -30,7 +30,7 @@ class ModuleResultTest < ActiveSupport::TestCase |
30 | 30 | end |
31 | 31 | |
32 | 32 | should 'return history of a module result' do |
33 | - Kalibro::ModuleResult.expects(:request).with(:history_of_module, {:module_result_id => module_id}).returns({:date_module_result => [DateModuleResultFixtures.date_module_result_hash]}) | |
33 | + Kalibro::ModuleResult.expects(:request).with(:history_of_module, {:module_result_id => @module_result.id}).returns({:date_module_result => [DateModuleResultFixtures.date_module_result_hash]}) | |
34 | 34 | assert_equal DateModuleResultFixtures.date_module_result_hash[:module_result][:id], Kalibro::ModuleResult.history_of(@module_result.id).first.module_result.id |
35 | 35 | end |
36 | 36 | ... | ... |