Commit 8d632abacc029f050a973e0a67c4712c57fe8e3f
Committed by
João M. M. da Silva
1 parent
782f5a15
Exists in
master
and in
29 other branches
[Mezuro] source_tree partials and parents method.
Showing
8 changed files
with
82 additions
and
45 deletions
Show diff stats
plugins/mezuro/lib/kalibro/module_result.rb
@@ -7,10 +7,21 @@ class Kalibro::ModuleResult < Kalibro::Model | @@ -7,10 +7,21 @@ class Kalibro::ModuleResult < Kalibro::Model | ||
7 | end | 7 | end |
8 | 8 | ||
9 | def children | 9 | def children |
10 | - hash_array = self.class.request(:children_of, {:module_result_id => self.id})[:module_result].to_a | ||
11 | - hash_array.map { |module_result| self.class.new module_result } | 10 | + response = self.class.request(:children_of, {:module_result_id => self.id})[:module_result] |
11 | + response = [] if response.nil? | ||
12 | + response = [response] if response.is_a?(Hash) | ||
13 | + response.map {|module_result| Kalibro::ModuleResult.new module_result} | ||
12 | end | 14 | end |
13 | 15 | ||
16 | + def parents | ||
17 | + if parent_id.nil? | ||
18 | + [] | ||
19 | + else | ||
20 | + parent = self.class.find(parent_id) | ||
21 | + parent.parents << parent | ||
22 | + end | ||
23 | + end | ||
24 | + | ||
14 | def module=(value) | 25 | def module=(value) |
15 | @module = Kalibro::Module.to_object value | 26 | @module = Kalibro::Module.to_object value |
16 | end | 27 | end |
plugins/mezuro/test/fixtures/metric_configuration_snapshot_fixtures.rb
@@ -18,7 +18,10 @@ class MetricConfigurationSnapshotFixtures | @@ -18,7 +18,10 @@ class MetricConfigurationSnapshotFixtures | ||
18 | :attributes! => { | 18 | :attributes! => { |
19 | :metric => { | 19 | :metric => { |
20 | 'xmlns:xsi'=> 'http://www.w3.org/2001/XMLSchema-instance', | 20 | 'xmlns:xsi'=> 'http://www.w3.org/2001/XMLSchema-instance', |
21 | - 'xsi:type' => 'kalibro:metricXml' } | 21 | + 'xsi:type' => 'kalibro:metricXml' }, |
22 | + :range => { | ||
23 | + 'xmlns:xsi'=> 'http://www.w3.org/2001/XMLSchema-instance', | ||
24 | + 'xsi:type' => 'kalibro:rangeSnapshotXml' } | ||
22 | } | 25 | } |
23 | } | 26 | } |
24 | end | 27 | end |
@@ -38,7 +41,10 @@ class MetricConfigurationSnapshotFixtures | @@ -38,7 +41,10 @@ class MetricConfigurationSnapshotFixtures | ||
38 | :attributes! => { | 41 | :attributes! => { |
39 | :metric => { | 42 | :metric => { |
40 | 'xmlns:xsi'=> 'http://www.w3.org/2001/XMLSchema-instance', | 43 | 'xmlns:xsi'=> 'http://www.w3.org/2001/XMLSchema-instance', |
41 | - 'xsi:type' => 'kalibro:metricXml' } | 44 | + 'xsi:type' => 'kalibro:metricXml' }, |
45 | + :range => { | ||
46 | + 'xmlns:xsi'=> 'http://www.w3.org/2001/XMLSchema-instance', | ||
47 | + 'xsi:type' => 'kalibro:rangeSnapshotXml' } | ||
42 | } | 48 | } |
43 | } | 49 | } |
44 | end | 50 | end |
plugins/mezuro/test/fixtures/module_result_fixtures.rb
@@ -23,4 +23,22 @@ class ModuleResultFixtures | @@ -23,4 +23,22 @@ class ModuleResultFixtures | ||
23 | } | 23 | } |
24 | end | 24 | end |
25 | 25 | ||
26 | + def self.parent_module_result_hash | ||
27 | + { | ||
28 | + :id => 31, | ||
29 | + :module => { | ||
30 | + :name => 'Qt-Calculator Parent', | ||
31 | + :granularity => 'APPLICATION' | ||
32 | + }, | ||
33 | + :grade => 10.0, | ||
34 | + :attributes! => | ||
35 | + { | ||
36 | + :module => | ||
37 | + { | ||
38 | + "xmlns:xsi"=>"http://www.w3.org/2001/XMLSchema-instance", | ||
39 | + "xsi:type"=>"kalibro:moduleXml" | ||
40 | + } | ||
41 | + } | ||
42 | + } | ||
43 | + end | ||
26 | end | 44 | end |
plugins/mezuro/test/unit/kalibro/metric_result_test.rb
@@ -33,7 +33,7 @@ class MetricResultTest < ActiveSupport::TestCase | @@ -33,7 +33,7 @@ class MetricResultTest < ActiveSupport::TestCase | ||
33 | 33 | ||
34 | should 'return history of a metric with a module result id' do | 34 | should 'return history of a metric with a module result id' do |
35 | module_result_id = 31 | 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]}) | 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 | 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 | 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 | end | 38 | end |
39 | 39 |
plugins/mezuro/test/unit/kalibro/module_result_test.rb
1 | require "test_helper" | 1 | require "test_helper" |
2 | 2 | ||
3 | require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/module_result_fixtures" | 3 | require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/module_result_fixtures" |
4 | +require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/date_module_result_fixtures" | ||
4 | 5 | ||
5 | class ModuleResultTest < ActiveSupport::TestCase | 6 | class ModuleResultTest < ActiveSupport::TestCase |
6 | 7 | ||
@@ -29,6 +30,15 @@ class ModuleResultTest < ActiveSupport::TestCase | @@ -29,6 +30,15 @@ class ModuleResultTest < ActiveSupport::TestCase | ||
29 | assert @hash[:id], @module_result.children.first.id | 30 | assert @hash[:id], @module_result.children.first.id |
30 | end | 31 | end |
31 | 32 | ||
33 | + should 'return parents of a module result' do | ||
34 | + parent_module_result = ModuleResultFixtures.parent_module_result_hash | ||
35 | + response = {:module_result => parent_module_result} | ||
36 | + Kalibro::ModuleResult.expects(:request).with(:get_module_result, {:module_result_id => @module_result.parent_id}).returns(response) | ||
37 | + parents = @module_result.parents | ||
38 | + assert parent_module_result[:module][:name], parents.first.module.name | ||
39 | + assert parent_module_result[:module][:name], parents.last.module.name | ||
40 | + end | ||
41 | + | ||
32 | should 'return history of a module result' do | 42 | should 'return history of a module result' do |
33 | Kalibro::ModuleResult.expects(:request).with(:history_of_module, {:module_result_id => @module_result.id}).returns({:date_module_result => [DateModuleResultFixtures.date_module_result_hash]}) | 43 | Kalibro::ModuleResult.expects(:request).with(:history_of_module, {:module_result_id => @module_result.id}).returns({:date_module_result => [DateModuleResultFixtures.date_module_result_hash]}) |
34 | assert_equal DateModuleResultFixtures.date_module_result_hash[:module_result][:id], Kalibro::ModuleResult.history_of(@module_result.id).first.module_result.id | 44 | assert_equal DateModuleResultFixtures.date_module_result_hash[:module_result][:id], Kalibro::ModuleResult.history_of(@module_result.id).first.module_result.id |
plugins/mezuro/views/mezuro_plugin_module_result/_module_result.rhtml
1 | -<% TODO source tree %> | 1 | +<% render :partial => "source_tree", :locals => {:module_result => @module_result} %> |
2 | <h5><%= _('Metric results for: #{@module_result.module.name} (#{@module_result.module.granularity}) ') %> </h5> | 2 | <h5><%= _('Metric results for: #{@module_result.module.name} (#{@module_result.module.granularity}) ') %> </h5> |
3 | 3 | ||
4 | <hr/> | 4 | <hr/> |
plugins/mezuro/views/mezuro_plugin_module_result/_source_tree.rhtml
1 | <h4><%= _('Source tree') %></h4> | 1 | <h4><%= _('Source tree') %></h4> |
2 | -<% module_name = @source_tree.module.name %> | ||
3 | -<% module_label = "#{module_name} (#{@source_tree.module.granularity})" %> | 2 | +<% module_name = @module_result.module.name %> |
3 | +<% module_label = "#{module_name} (#{@module_result.module.granularity})" %> | ||
4 | 4 | ||
5 | -<p><h2 class="path"> | ||
6 | - <% if module_name != @project_name %> | ||
7 | - <a href="#" class="source-tree-link" data-module-name="<%= @project_name %>"> | ||
8 | - <%= @project_name %> | ||
9 | - </a> | ||
10 | - <% end %> | ||
11 | - | ||
12 | - | ||
13 | - <% split_link = @source_tree.module.ancestor_names %> | ||
14 | - <% split_link.each do |link| %> | ||
15 | - /<a href="#" class="source-tree-link" data-module-name="<%= link %>"> | ||
16 | - <%= link.split(".").last %> | ||
17 | - </a> | ||
18 | - <% end %> | ||
19 | -</h2></p> | 5 | +<p> |
6 | + <h2 class="path"> | ||
7 | + <% parents = @module_result.parents %> | ||
8 | + <% parents.each do |parent| %> | ||
9 | + /<a href="#" class="source-tree-link" data-module-id="<%= parent.id %>"> | ||
10 | + <%= parent.module.name %> | ||
11 | + </a> | ||
12 | + <% end %> | ||
13 | + </h2> | ||
14 | +</p> | ||
20 | 15 | ||
21 | -<% if @source_tree.children %> | ||
22 | - <table border="0" class="source-tree"> | ||
23 | - <% @source_tree.children.each do |child| %> | ||
24 | - <% if child.module.granularity=='PACKAGE' %> | ||
25 | - <tr> | ||
26 | - <td class="icon"><%= image_tag('/plugins/mezuro/images/folder.png')%></td> | ||
27 | - <td class="source-tree-text"><a href='#' class="source-tree-link" data-module-name="<%= child.module.name %>"><%= child.module.name %></a></td> | ||
28 | - </tr> | ||
29 | - <% else %> | ||
30 | - <tr> | ||
31 | - <td class="icon"><%= image_tag('/plugins/mezuro/images/file.png') %></td> | ||
32 | - <td class="source-tree-text"> | ||
33 | - <a href='#' class="source-tree-link" data-module-name="<%= child.module.name %>"> | ||
34 | - <%= child.module.name %> | ||
35 | - </a> | ||
36 | - </td> | ||
37 | - </tr> | ||
38 | - <% end %> | ||
39 | - <% end %> | ||
40 | - </table> | ||
41 | -<% end %> | 16 | +<table border="0" class="source-tree"> |
17 | + <% @module_result.children.each do |child| %> | ||
18 | + <% if child.module.granularity=='PACKAGE' %> | ||
19 | + <tr> | ||
20 | + <td class="icon"><%= image_tag('/plugins/mezuro/images/folder.png')%></td> | ||
21 | + <td class="source-tree-text"><a href='#' class="source-tree-link" data-module-id="<%= child.id %>"><%= child.module.name %></a></td> | ||
22 | + </tr> | ||
23 | + <% else %> | ||
24 | + <tr> | ||
25 | + <td class="icon"><%= image_tag('/plugins/mezuro/images/file.png') %></td> | ||
26 | + <td class="source-tree-text"> | ||
27 | + <a href='#' class="source-tree-link" data-module-id="<%= child.id %>"> | ||
28 | + <%= child.module.name %> | ||
29 | + </a> | ||
30 | + </td> | ||
31 | + </tr> | ||
32 | + <% end %> | ||
33 | + <% end %> | ||
34 | +</table> |
plugins/mezuro/views/mezuro_plugin_repository/show.html.erb
@@ -42,5 +42,4 @@ | @@ -42,5 +42,4 @@ | ||
42 | 42 | ||
43 | <div id="processing" data-profile="<%= @data_profile %>" data-content="<%= @data_content %>" | 43 | <div id="processing" data-profile="<%= @data_profile %>" data-content="<%= @data_content %>" |
44 | data-repository-id="<%= @repository.id %>"></div> | 44 | data-repository-id="<%= @repository.id %>"></div> |
45 | -<div id="project-tree"></div> | ||
46 | <div id="module-result"></div> | 45 | <div id="module-result"></div> |