diff --git a/plugins/mezuro/lib/kalibro/module_result.rb b/plugins/mezuro/lib/kalibro/module_result.rb index 278e44b..697bc0f 100644 --- a/plugins/mezuro/lib/kalibro/module_result.rb +++ b/plugins/mezuro/lib/kalibro/module_result.rb @@ -4,6 +4,7 @@ class Kalibro::ModuleResult < Kalibro::Model def self.find_by_project_name_and_module_name_and_date(project_name, module_name, date) response = request( + 'ModuleResult', :get_module_result, { :project_name => project_name, @@ -13,8 +14,9 @@ class Kalibro::ModuleResult < Kalibro::Model new response end - def self.all_module_results(project_name, module_name) + def self.all_by_project_name_and_module_name(project_name, module_name) response = request( + 'ModuleResult', :get_result_history, { :project_name => project_name, @@ -48,22 +50,11 @@ class Kalibro::ModuleResult < Kalibro::Model array = value.kind_of?(Array) ? value : [value] array.each.collect { |element| to_entity(element) } end - + def self.to_entity(value) value.kind_of?(Hash) ? new(value) : value end - - def self.client - endpoint = 'ModuleResult' - service_address = YAML.load_file("#{RAILS_ROOT}/plugins/mezuro/service.yaml") - Savon::Client.new("#{service_address}#{endpoint}Endpoint/?wsdl") - end - - def self.request(action, request_body = nil) - response = client.request(:kalibro, action) { soap.body = request_body } - response.to_hash["#{action}_response".to_sym] - end - + def self.date_with_milliseconds(date) milliseconds = "." + (date.sec_fraction * 60 * 60 * 24 * 1000).to_s date.to_s[0..18] + milliseconds + date.to_s[19..-1] diff --git a/plugins/mezuro/test/unit/kalibro/module_result_test.rb b/plugins/mezuro/test/unit/kalibro/module_result_test.rb index d8f2797..c3ba1c0 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, Kalibro::ModuleResult.new(@hash).date + assert_equal @module_result.date.to_s , Kalibro::ModuleResult.new(@hash).date.to_s end should 'convert module result to hash' do @@ -21,8 +21,17 @@ class ModuleResultTest < ActiveSupport::TestCase date = DateTime.parse(date_string) request_body = {:project_name => 'Qt-Calculator', :module_name => 'main', :date => date_string} response = {:module_result => @hash} - Kalibro::ModuleResult.expects(:request).with(:get_module_result, request_body).returns(response) - assert_equal @module_result, Kalibro::ModuleResult.find_module_result('Qt-Calculator', 'main', date) + 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('Qt-Calculator', 'main', date).grade + end + + should 'find all module results' do + request_body = {:project_name => 'Qt-Calculator', :module_name => 'main'} + 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('Qt-Calculator', 'main') + assert_equal [@module_result].class, response_array.class + assert_equal @module_result.grade, response_array[0].grade end end -- libgit2 0.21.2