diff --git a/plugins/mezuro/lib/kalibro/module_result.rb b/plugins/mezuro/lib/kalibro/module_result.rb index 4cbf91a..f8f7336 100644 --- a/plugins/mezuro/lib/kalibro/module_result.rb +++ b/plugins/mezuro/lib/kalibro/module_result.rb @@ -1,63 +1,22 @@ class Kalibro::ModuleResult < Kalibro::Model - attr_accessor :module, :date, :grade, :metric_result, :compound_metric_with_error + attr_accessor :id, :module, :grade, :parent_id - def self.find_by_project_name_and_module_name_and_date(project_name, module_name, date) - new request( - 'ModuleResult', - :get_module_result, - { - :project_name => project_name, - :module_name => module_name, - :date => date_with_milliseconds(date) - })[:module_result] + def self.find(id) + new request('ModuleResult', :get_module_result, { :module_result_id => id })[:module_result] end - - def self.all_by_project_name_and_module_name(project_name, module_name) - response = request( - 'ModuleResult', - :get_result_history, - { - :project_name => project_name, - :module_name => module_name - })[:module_result] - Kalibro::ModuleResult.to_objects_array(response) + + def children + hash_array = self.class.request('ModuleResult',:children_of, {:module_result_id => self.id})[:module_result].to_a + hash_array.map { |module_result| self.class.new module_result } end def module=(value) @module = Kalibro::Module.to_object value end - def date=(value) - @date = value.is_a?(String) ? DateTime.parse(value) : value - end - def grade=(value) @grade = value.to_f end - def metric_result=(value) - @metric_result = Kalibro::MetricResult.to_objects_array value - end - - def metric_results - @metric_result - end - - def metric_results=(metric_results) - @metric_result = metric_results - end - - def compound_metric_with_error=(value) - @compound_metric_with_error = Kalibro::CompoundMetricWithError.to_objects_array value - end - - def compound_metrics_with_error - @compound_metric_with_error - end - - def compound_metrics_with_error=(compound_metrics_with_error) - @compound_metric_with_error = compound_metrics_with_error - end - end diff --git a/plugins/mezuro/test/fixtures/module_result_fixtures.rb b/plugins/mezuro/test/fixtures/module_result_fixtures.rb index 34fe329..1b0b0d6 100644 --- a/plugins/mezuro/test/fixtures/module_result_fixtures.rb +++ b/plugins/mezuro/test/fixtures/module_result_fixtures.rb @@ -1,6 +1,4 @@ require File.dirname(__FILE__) + '/module_fixtures' -require File.dirname(__FILE__) + '/metric_result_fixtures' -require File.dirname(__FILE__) + '/compound_metric_with_error_fixtures' class ModuleResultFixtures @@ -10,17 +8,17 @@ class ModuleResultFixtures def self.module_result_hash { + :id => 42, :module => ModuleFixtures.module_hash, - :date => '2011-10-20T18:26:43.151+00:00', :grade => 10.0, - :metric_result => [ - MetricResultFixtures.native_metric_result_hash, - MetricResultFixtures.compound_metric_result_hash], - :compound_metric_with_error => [CompoundMetricWithErrorFixtures.compound_metric_with_error_hash], - :attributes! => { - :module => { - 'xmlns:xsi'=> 'http://www.w3.org/2001/XMLSchema-instance', - 'xsi:type' => 'kalibro:moduleXml' } + :parent_id => 31, + :attributes! => + { + :module => + { + "xmlns:xsi"=>"http://www.w3.org/2001/XMLSchema-instance", + "xsi:type"=>"kalibro:moduleXml" + } } } end diff --git a/plugins/mezuro/test/unit/kalibro/module_result_test.rb b/plugins/mezuro/test/unit/kalibro/module_result_test.rb index aacd7eb..a6624af 100644 --- a/plugins/mezuro/test/unit/kalibro/module_result_test.rb +++ b/plugins/mezuro/test/unit/kalibro/module_result_test.rb @@ -9,7 +9,7 @@ class ModuleResultTest < ActiveSupport::TestCase @module_result = ModuleResultFixtures.module_result end should 'create module result' do - assert_equal @module_result.date.to_s , Kalibro::ModuleResult.new(@hash).date.to_s + assert_equal @hash[:id] , Kalibro::ModuleResult.new(@hash).id end should 'convert module result to hash' do @@ -17,22 +17,15 @@ class ModuleResultTest < ActiveSupport::TestCase end should 'find module result' do - date = DateTime.parse(@module_result.date.to_s) - name = @module_result.module.name - request_body = {:project_name => name, :module_name => name, :date => '2011-10-20T18:26:43.0+00:00'} response = {:module_result => @hash} - Kalibro::ModuleResult.expects(:request).with('ModuleResult',:get_module_result, request_body).returns(response) - assert_equal @module_result.grade, Kalibro::ModuleResult.find_by_project_name_and_module_name_and_date(name, name, date).grade + Kalibro::ModuleResult.expects(:request).with('ModuleResult',:get_module_result, {:module_result_id => @module_result.id}).returns(response) + assert_equal @module_result.grade, Kalibro::ModuleResult.find(@module_result.id).grade end - should 'find all module results' do - name = @module_result.module.name - request_body = {:project_name => name, :module_name => name} - response = {:module_result => @hash} - Kalibro::ModuleResult.expects(:request).with('ModuleResult',:get_result_history, request_body).returns(response) - response_array = Kalibro::ModuleResult.all_by_project_name_and_module_name(name, name) - assert_equal [@module_result].class, response_array.class - assert_equal @module_result.grade, response_array[0].grade + should 'return children of a module result' do + response = {:module_result => [@hash]} + Kalibro::ModuleResult.expects(:request).with('ModuleResult',:children_of, {:module_result_id => @module_result.id}).returns(response) + assert @hash[:id], @module_result.children.first.id end end diff --git a/plugins/mezuro/test/unit/kalibro/module_test.rb b/plugins/mezuro/test/unit/kalibro/module_test.rb index 73b9e13..4274bc6 100644 --- a/plugins/mezuro/test/unit/kalibro/module_test.rb +++ b/plugins/mezuro/test/unit/kalibro/module_test.rb @@ -12,7 +12,7 @@ class ModuleTest < ActiveSupport::TestCase should 'create module from hash' do assert_equal @hash[:name], Kalibro::Module.new(@hash).name end - + should 'convert module to hash' do assert_equal @hash, @module.to_hash end -- libgit2 0.21.2