Commit 8bfb7c93f459481cdf602aef4286c9ab4cf9976c
Committed by
João M. M. da Silva
1 parent
4b852f68
Exists in
master
and in
29 other branches
[Mezuro] Completed module result model, fixtures and tests.
Showing
4 changed files
with
24 additions
and
74 deletions
Show diff stats
plugins/mezuro/lib/kalibro/module_result.rb
1 | 1 | class Kalibro::ModuleResult < Kalibro::Model |
2 | 2 | |
3 | - attr_accessor :module, :date, :grade, :metric_result, :compound_metric_with_error | |
3 | + attr_accessor :id, :module, :grade, :parent_id | |
4 | 4 | |
5 | - def self.find_by_project_name_and_module_name_and_date(project_name, module_name, date) | |
6 | - new request( | |
7 | - 'ModuleResult', | |
8 | - :get_module_result, | |
9 | - { | |
10 | - :project_name => project_name, | |
11 | - :module_name => module_name, | |
12 | - :date => date_with_milliseconds(date) | |
13 | - })[:module_result] | |
5 | + def self.find(id) | |
6 | + new request('ModuleResult', :get_module_result, { :module_result_id => id })[:module_result] | |
14 | 7 | end |
15 | - | |
16 | - def self.all_by_project_name_and_module_name(project_name, module_name) | |
17 | - response = request( | |
18 | - 'ModuleResult', | |
19 | - :get_result_history, | |
20 | - { | |
21 | - :project_name => project_name, | |
22 | - :module_name => module_name | |
23 | - })[:module_result] | |
24 | - Kalibro::ModuleResult.to_objects_array(response) | |
8 | + | |
9 | + def children | |
10 | + hash_array = self.class.request('ModuleResult',:children_of, {:module_result_id => self.id})[:module_result].to_a | |
11 | + hash_array.map { |module_result| self.class.new module_result } | |
25 | 12 | end |
26 | 13 | |
27 | 14 | def module=(value) |
28 | 15 | @module = Kalibro::Module.to_object value |
29 | 16 | end |
30 | 17 | |
31 | - def date=(value) | |
32 | - @date = value.is_a?(String) ? DateTime.parse(value) : value | |
33 | - end | |
34 | - | |
35 | 18 | def grade=(value) |
36 | 19 | @grade = value.to_f |
37 | 20 | end |
38 | 21 | |
39 | - def metric_result=(value) | |
40 | - @metric_result = Kalibro::MetricResult.to_objects_array value | |
41 | - end | |
42 | - | |
43 | - def metric_results | |
44 | - @metric_result | |
45 | - end | |
46 | - | |
47 | - def metric_results=(metric_results) | |
48 | - @metric_result = metric_results | |
49 | - end | |
50 | - | |
51 | - def compound_metric_with_error=(value) | |
52 | - @compound_metric_with_error = Kalibro::CompoundMetricWithError.to_objects_array value | |
53 | - end | |
54 | - | |
55 | - def compound_metrics_with_error | |
56 | - @compound_metric_with_error | |
57 | - end | |
58 | - | |
59 | - def compound_metrics_with_error=(compound_metrics_with_error) | |
60 | - @compound_metric_with_error = compound_metrics_with_error | |
61 | - end | |
62 | - | |
63 | 22 | end | ... | ... |
plugins/mezuro/test/fixtures/module_result_fixtures.rb
1 | 1 | require File.dirname(__FILE__) + '/module_fixtures' |
2 | -require File.dirname(__FILE__) + '/metric_result_fixtures' | |
3 | -require File.dirname(__FILE__) + '/compound_metric_with_error_fixtures' | |
4 | 2 | |
5 | 3 | class ModuleResultFixtures |
6 | 4 | |
... | ... | @@ -10,17 +8,17 @@ class ModuleResultFixtures |
10 | 8 | |
11 | 9 | def self.module_result_hash |
12 | 10 | { |
11 | + :id => 42, | |
13 | 12 | :module => ModuleFixtures.module_hash, |
14 | - :date => '2011-10-20T18:26:43.151+00:00', | |
15 | 13 | :grade => 10.0, |
16 | - :metric_result => [ | |
17 | - MetricResultFixtures.native_metric_result_hash, | |
18 | - MetricResultFixtures.compound_metric_result_hash], | |
19 | - :compound_metric_with_error => [CompoundMetricWithErrorFixtures.compound_metric_with_error_hash], | |
20 | - :attributes! => { | |
21 | - :module => { | |
22 | - 'xmlns:xsi'=> 'http://www.w3.org/2001/XMLSchema-instance', | |
23 | - 'xsi:type' => 'kalibro:moduleXml' } | |
14 | + :parent_id => 31, | |
15 | + :attributes! => | |
16 | + { | |
17 | + :module => | |
18 | + { | |
19 | + "xmlns:xsi"=>"http://www.w3.org/2001/XMLSchema-instance", | |
20 | + "xsi:type"=>"kalibro:moduleXml" | |
21 | + } | |
24 | 22 | } |
25 | 23 | } |
26 | 24 | end | ... | ... |
plugins/mezuro/test/unit/kalibro/module_result_test.rb
... | ... | @@ -9,7 +9,7 @@ class ModuleResultTest < ActiveSupport::TestCase |
9 | 9 | @module_result = ModuleResultFixtures.module_result |
10 | 10 | end |
11 | 11 | should 'create module result' do |
12 | - assert_equal @module_result.date.to_s , Kalibro::ModuleResult.new(@hash).date.to_s | |
12 | + assert_equal @hash[:id] , Kalibro::ModuleResult.new(@hash).id | |
13 | 13 | end |
14 | 14 | |
15 | 15 | should 'convert module result to hash' do |
... | ... | @@ -17,22 +17,15 @@ class ModuleResultTest < ActiveSupport::TestCase |
17 | 17 | end |
18 | 18 | |
19 | 19 | should 'find module result' do |
20 | - date = DateTime.parse(@module_result.date.to_s) | |
21 | - name = @module_result.module.name | |
22 | - request_body = {:project_name => name, :module_name => name, :date => '2011-10-20T18:26:43.0+00:00'} | |
23 | 20 | response = {:module_result => @hash} |
24 | - Kalibro::ModuleResult.expects(:request).with('ModuleResult',:get_module_result, request_body).returns(response) | |
25 | - assert_equal @module_result.grade, Kalibro::ModuleResult.find_by_project_name_and_module_name_and_date(name, name, date).grade | |
21 | + Kalibro::ModuleResult.expects(:request).with('ModuleResult',:get_module_result, {:module_result_id => @module_result.id}).returns(response) | |
22 | + assert_equal @module_result.grade, Kalibro::ModuleResult.find(@module_result.id).grade | |
26 | 23 | end |
27 | 24 | |
28 | - should 'find all module results' do | |
29 | - name = @module_result.module.name | |
30 | - request_body = {:project_name => name, :module_name => name} | |
31 | - response = {:module_result => @hash} | |
32 | - Kalibro::ModuleResult.expects(:request).with('ModuleResult',:get_result_history, request_body).returns(response) | |
33 | - response_array = Kalibro::ModuleResult.all_by_project_name_and_module_name(name, name) | |
34 | - assert_equal [@module_result].class, response_array.class | |
35 | - assert_equal @module_result.grade, response_array[0].grade | |
25 | + should 'return children of a module result' do | |
26 | + response = {:module_result => [@hash]} | |
27 | + Kalibro::ModuleResult.expects(:request).with('ModuleResult',:children_of, {:module_result_id => @module_result.id}).returns(response) | |
28 | + assert @hash[:id], @module_result.children.first.id | |
36 | 29 | end |
37 | 30 | |
38 | 31 | end | ... | ... |
plugins/mezuro/test/unit/kalibro/module_test.rb