From 1e53c6f7cd006224e3ca8e83c990fb84e3e1d2cd Mon Sep 17 00:00:00 2001 From: Alessandro Palmeira + Diego Araújo + João M. M. da Silva Date: Thu, 6 Dec 2012 16:17:50 -0200 Subject: [PATCH] [Mezuro] Added TODOs and renamed project_controller -> processing_controller --- plugins/mezuro/controllers/profile/mezuro_plugin_module_controller.rb | 1 + plugins/mezuro/controllers/profile/mezuro_plugin_processing_controller.rb | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ plugins/mezuro/controllers/profile/mezuro_plugin_project_controller.rb | 49 ------------------------------------------------- plugins/mezuro/controllers/profile/mezuro_plugin_repository_controller.rb | 24 +++--------------------- plugins/mezuro/lib/kalibro/processing.rb | 1 + plugins/mezuro/lib/kalibro/repository.rb | 2 +- plugins/mezuro/test/functional/profile/mezuro_plugin_module_controller_test.rb | 1 + plugins/mezuro/test/functional/profile/mezuro_plugin_processing_controller_test.rb | 94 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ plugins/mezuro/test/functional/profile/mezuro_plugin_project_controller_test.rb | 92 -------------------------------------------------------------------------------------------- plugins/mezuro/test/functional/profile/mezuro_plugin_repository_controller_test.rb | 1 + plugins/mezuro/test/unit/kalibro/processing_test.rb | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++++- plugins/mezuro/test/unit/mezuro_plugin/project_content_test.rb | 50 -------------------------------------------------- 12 files changed, 225 insertions(+), 214 deletions(-) create mode 100644 plugins/mezuro/controllers/profile/mezuro_plugin_processing_controller.rb delete mode 100644 plugins/mezuro/controllers/profile/mezuro_plugin_project_controller.rb create mode 100644 plugins/mezuro/test/functional/profile/mezuro_plugin_processing_controller_test.rb delete mode 100644 plugins/mezuro/test/functional/profile/mezuro_plugin_project_controller_test.rb diff --git a/plugins/mezuro/controllers/profile/mezuro_plugin_module_controller.rb b/plugins/mezuro/controllers/profile/mezuro_plugin_module_controller.rb index 1f35c9c..11b0f08 100644 --- a/plugins/mezuro/controllers/profile/mezuro_plugin_module_controller.rb +++ b/plugins/mezuro/controllers/profile/mezuro_plugin_module_controller.rb @@ -1,3 +1,4 @@ +#TODO refatorar todo o controller e seus testes funcionais class MezuroPluginModuleController < MezuroPluginProfileController append_view_path File.join(File.dirname(__FILE__) + '/../../views') diff --git a/plugins/mezuro/controllers/profile/mezuro_plugin_processing_controller.rb b/plugins/mezuro/controllers/profile/mezuro_plugin_processing_controller.rb new file mode 100644 index 0000000..409ec88 --- /dev/null +++ b/plugins/mezuro/controllers/profile/mezuro_plugin_processing_controller.rb @@ -0,0 +1,70 @@ +#TODO refatorar todo o controller e seus testes funcionais +class MezuroPluginProjectController < MezuroPluginProfileController + + append_view_path File.join(File.dirname(__FILE__) + '/../../views') + + def processing_state + @content = profile.articles.find(params[:id]) + processing = @content.processing + if project_content_has_errors? + redirect_to_error_page(@content.errors[:base]) + else + render :text => processing.state + end + end + + def processing_error + @content = profile.articles.find(params[:id]) + @processing = @content.processing + if project_content_has_errors? + redirect_to_error_page(@content.errors[:base]) + else + render :partial => 'processing_error' + end + end + + def processing + @content = profile.articles.find(params[:id]) + date = params[:date] + @processing = date.nil? ? @content.processing : @content.processing_with_date(date) + if project_content_has_errors? + redirect_to_error_page(@content.errors[:base]) + else + render :partial => 'processing' + end + end + + def project_tree + @content = profile.articles.find(params[:id]) + date = params[:date] + project_result = date.nil? ? @content.project_result : @content.project_result_with_date(date) + @project_name = @content.project.name if not @content.project.nil? + if project_content_has_errors? + redirect_to_error_page(@content.errors[:base]) + else + @source_tree = project_result.node(params[:module_name]) + render :partial =>'source_tree' + end + end + + private + + def module_result(repository_id, date = nil) + @processing ||= date.nil? ? processing(repository_id) : processing_with_date(repository_id, date) + begin + @module_result ||= Kalibro::ModuleResult.find(@processing.results_root_id) + rescue Exception => error + errors.add_to_base(error.message) + end + @module_result + end + + def result_history(module_result_id) + begin + @result_history ||= Kalibro::MetricResult.history_of(module_result_id) + rescue Exception => error + errors.add_to_base(error.message) + end + end + +end diff --git a/plugins/mezuro/controllers/profile/mezuro_plugin_project_controller.rb b/plugins/mezuro/controllers/profile/mezuro_plugin_project_controller.rb deleted file mode 100644 index fe20a89..0000000 --- a/plugins/mezuro/controllers/profile/mezuro_plugin_project_controller.rb +++ /dev/null @@ -1,49 +0,0 @@ -class MezuroPluginProjectController < MezuroPluginProfileController - - append_view_path File.join(File.dirname(__FILE__) + '/../../views') - - def processing_state - @content = profile.articles.find(params[:id]) - processing = @content.processing - if project_content_has_errors? - redirect_to_error_page(@content.errors[:base]) - else - render :text => processing.state - end - end - - def processing_error - @content = profile.articles.find(params[:id]) - @processing = @content.processing - if project_content_has_errors? - redirect_to_error_page(@content.errors[:base]) - else - render :partial => 'processing_error' - end - end - - def processing - @content = profile.articles.find(params[:id]) - date = params[:date] - @processing = date.nil? ? @content.processing : @content.processing_with_date(date) - if project_content_has_errors? - redirect_to_error_page(@content.errors[:base]) - else - render :partial => 'processing' - end - end - - def project_tree - @content = profile.articles.find(params[:id]) - date = params[:date] - project_result = date.nil? ? @content.project_result : @content.project_result_with_date(date) - @project_name = @content.project.name if not @content.project.nil? - if project_content_has_errors? - redirect_to_error_page(@content.errors[:base]) - else - @source_tree = project_result.node(params[:module_name]) - render :partial =>'source_tree' - end - end - -end diff --git a/plugins/mezuro/controllers/profile/mezuro_plugin_repository_controller.rb b/plugins/mezuro/controllers/profile/mezuro_plugin_repository_controller.rb index ac3251a..0fd6f82 100644 --- a/plugins/mezuro/controllers/profile/mezuro_plugin_repository_controller.rb +++ b/plugins/mezuro/controllers/profile/mezuro_plugin_repository_controller.rb @@ -1,3 +1,5 @@ +#TODO terminar esse controler e seus testes funcionais +#TODO falta o destroy class MezuroPluginRepositoryController < MezuroPluginProfileController append_view_path File.join(File.dirname(__FILE__) + '/../../views') @@ -59,7 +61,7 @@ class MezuroPluginRepositoryController < MezuroPluginProfileController @project_name = project_content.name @repository = project_content.repositories.select{ |repository| repository.id == params[:repository_id].to_s }.first @configuration_name = Kalibro::Configuration.configuration_of(@repository.id).name - @processing = processing(@repository.id) + @processing = Kalibro::Processing.processing_of(@repository.id) end def destroy @@ -72,25 +74,5 @@ class MezuroPluginRepositoryController < MezuroPluginProfileController redirect_to_error_page repository.errors[0].message end end - - private - - def module_result(repository_id, date = nil) - @processing ||= date.nil? ? processing(repository_id) : processing_with_date(repository_id, date) - begin - @module_result ||= Kalibro::ModuleResult.find(@processing.results_root_id) - rescue Exception => error - errors.add_to_base(error.message) - end - @module_result - end - - def result_history(module_result_id) - begin - @result_history ||= Kalibro::MetricResult.history_of(module_result_id) - rescue Exception => error - errors.add_to_base(error.message) - end - end end diff --git a/plugins/mezuro/lib/kalibro/processing.rb b/plugins/mezuro/lib/kalibro/processing.rb index 618f677..ea5c1a8 100644 --- a/plugins/mezuro/lib/kalibro/processing.rb +++ b/plugins/mezuro/lib/kalibro/processing.rb @@ -1,3 +1,4 @@ +#TODO arrumar esse modelo e seus testes de unidade class Kalibro::Processing < Kalibro::Model attr_accessor :id, :date, :state, :error, :process_time, :results_root_id diff --git a/plugins/mezuro/lib/kalibro/repository.rb b/plugins/mezuro/lib/kalibro/repository.rb index 4bd24e3..08c1df4 100644 --- a/plugins/mezuro/lib/kalibro/repository.rb +++ b/plugins/mezuro/lib/kalibro/repository.rb @@ -13,7 +13,7 @@ class Kalibro::Repository < Kalibro::Model def self.repositories_of(project_id) response = request(:repositories_of, {:project_id => project_id})[:repository] response = [] if response.nil? - response = [response] if response.is_a? (Hash) + response = [response] if response.is_a?(Hash) response.map {|repository| new repository} end diff --git a/plugins/mezuro/test/functional/profile/mezuro_plugin_module_controller_test.rb b/plugins/mezuro/test/functional/profile/mezuro_plugin_module_controller_test.rb index 870e25c..751e75b 100644 --- a/plugins/mezuro/test/functional/profile/mezuro_plugin_module_controller_test.rb +++ b/plugins/mezuro/test/functional/profile/mezuro_plugin_module_controller_test.rb @@ -4,6 +4,7 @@ require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/module_result_fixtures" require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/repository_fixtures" require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/project_fixtures" +#TODO refatorar todos os testes class MezuroPluginModuleControllerTest < ActionController::TestCase def setup diff --git a/plugins/mezuro/test/functional/profile/mezuro_plugin_processing_controller_test.rb b/plugins/mezuro/test/functional/profile/mezuro_plugin_processing_controller_test.rb new file mode 100644 index 0000000..997e236 --- /dev/null +++ b/plugins/mezuro/test/functional/profile/mezuro_plugin_processing_controller_test.rb @@ -0,0 +1,94 @@ +require 'test_helper' + +require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/processing_fixtures" +require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/throwable_fixtures" +require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/repository_fixtures" + + +#TODO refatorar todos os testes +class MezuroPluginProjectControllerTest < ActionController::TestCase + def setup + @controller = MezuroPluginProjectController.new + @request = ActionController::TestRequest.new + @response = ActionController::TestResponse.new + @profile = fast_create(Community) + + @project_result = ProcessingFixtures.project_result + @repository_url = RepositoryFixtures.repository.address + @project = @project_result.project + @date = "2012-04-13T20:39:41+04:00" + + Kalibro::Project.expects(:all_names).returns([]) + @content = MezuroPlugin::ProjectContent.new(:profile => @profile, :name => @project.name, :repository_url => @repository_url) + @content.expects(:send_project_to_service).returns(nil) + @content.save + end + + should 'test project state without kalibro_error' do + Kalibro::Project.expects(:request).with("Project", :get_project, :project_name => @project.name).returns({:project => @project.to_hash}) + get :project_state, :profile => @profile.identifier, :id => @content.id + assert_response 200 + assert_equal @content, assigns(:content) + end + + should 'test project state with kalibro_error' do + Kalibro::Project.expects(:request).with("Project", :get_project, :project_name => @project.name).returns({:project => @project.to_hash.merge({:error => ThrowableFixtures.throwable_hash})}) + get :project_state, :profile => @profile.identifier, :id => @content.id + assert_response 200 + assert_equal "ERROR", @response.body + assert_equal @content, assigns(:content) + end + + should 'test project error' do + Kalibro::Project.expects(:request).with("Project", :get_project, :project_name => @project.name).returns({:project => @project.to_hash.merge({:error => ThrowableFixtures.throwable_hash})}) + get :project_error, :profile => @profile.identifier, :id => @content.id + assert_response 200 + assert_select('h3', 'ERROR') + assert_equal @content, assigns(:content) + assert_equal @project.name, assigns(:project).name + end + + should 'test project result without date' do + Kalibro::Processing.expects(:request).with("Processing", :get_last_result_of, {:project_name => @project.name}).returns({:project_result => @project_result.to_hash}) + get :project_result, :profile => @profile.identifier, :id => @content.id, :date => nil + assert_equal @content, assigns(:content) + assert_equal @project_result.project.name, assigns(:project_result).project.name + assert_response 200 + assert_select('h4', 'Last Result') + end + + should 'test project results from a specific date' do + request_body = {:project_name => @project.name, :date => @date} + Kalibro::Processing.expects(:request).with("Processing", :has_results_before, request_body).returns({:has_results => true}) + Kalibro::Processing.expects(:request).with("Processing", :get_last_result_before, request_body).returns({:project_result => @project_result.to_hash}) + get :project_result, :profile => @profile.identifier, :id => @content.id, :date => @date + assert_equal @content, assigns(:content) + assert_equal @project_result.project.name, assigns(:project_result).project.name + assert_response 200 + assert_select('h4', 'Last Result') + end + + should 'test project tree without date' do + Kalibro::Processing.expects(:request).with("Processing", :get_last_result_of, {:project_name => @project.name}).returns({:project_result => @project_result.to_hash}) + Kalibro::Project.expects(:request).with("Project", :get_project, :project_name => @project.name).returns({:project => @project.to_hash}) + get :project_tree, :profile => @profile.identifier, :id => @content.id, :module_name => @project.name, :date => nil + assert_equal @content, assigns(:content) + assert_equal @project.name, assigns(:project_name) + assert_equal @project_result.source_tree.module.name, assigns(:source_tree).module.name + assert_response 200 + assert_select('h2', /Qt-Calculator/) + end + + should 'test project tree with a specific date' do + request_body = {:project_name => @project.name, :date => @project_result.date} + Kalibro::Project.expects(:request).with("Project", :get_project, :project_name => @project.name).returns({:project => @project.to_hash}) + Kalibro::Processing.expects(:request).with("Processing", :has_results_before, request_body).returns({:has_results => true}) + Kalibro::Processing.expects(:request).with("Processing", :get_last_result_before, request_body).returns({:project_result => @project_result.to_hash}) + get :project_tree, :profile => @profile.identifier, :id => @content.id, :module_name => @project.name, :date => @project_result.date + assert_equal @content, assigns(:content) + assert_equal @project.name, assigns(:project_name) + assert_equal @project_result.source_tree.module.name, assigns(:source_tree).module.name + assert_response 200 + end + +end diff --git a/plugins/mezuro/test/functional/profile/mezuro_plugin_project_controller_test.rb b/plugins/mezuro/test/functional/profile/mezuro_plugin_project_controller_test.rb deleted file mode 100644 index d86567c..0000000 --- a/plugins/mezuro/test/functional/profile/mezuro_plugin_project_controller_test.rb +++ /dev/null @@ -1,92 +0,0 @@ -require 'test_helper' - -require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/processing_fixtures" -require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/throwable_fixtures" -require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/repository_fixtures" - -class MezuroPluginProjectControllerTest < ActionController::TestCase - def setup - @controller = MezuroPluginProjectController.new - @request = ActionController::TestRequest.new - @response = ActionController::TestResponse.new - @profile = fast_create(Community) - - @project_result = ProcessingFixtures.project_result - @repository_url = RepositoryFixtures.repository.address - @project = @project_result.project - @date = "2012-04-13T20:39:41+04:00" - - Kalibro::Project.expects(:all_names).returns([]) - @content = MezuroPlugin::ProjectContent.new(:profile => @profile, :name => @project.name, :repository_url => @repository_url) - @content.expects(:send_project_to_service).returns(nil) - @content.save - end - - should 'test project state without kalibro_error' do - Kalibro::Project.expects(:request).with("Project", :get_project, :project_name => @project.name).returns({:project => @project.to_hash}) - get :project_state, :profile => @profile.identifier, :id => @content.id - assert_response 200 - assert_equal @content, assigns(:content) - end - - should 'test project state with kalibro_error' do - Kalibro::Project.expects(:request).with("Project", :get_project, :project_name => @project.name).returns({:project => @project.to_hash.merge({:error => ThrowableFixtures.throwable_hash})}) - get :project_state, :profile => @profile.identifier, :id => @content.id - assert_response 200 - assert_equal "ERROR", @response.body - assert_equal @content, assigns(:content) - end - - should 'test project error' do - Kalibro::Project.expects(:request).with("Project", :get_project, :project_name => @project.name).returns({:project => @project.to_hash.merge({:error => ThrowableFixtures.throwable_hash})}) - get :project_error, :profile => @profile.identifier, :id => @content.id - assert_response 200 - assert_select('h3', 'ERROR') - assert_equal @content, assigns(:content) - assert_equal @project.name, assigns(:project).name - end - - should 'test project result without date' do - Kalibro::Processing.expects(:request).with("Processing", :get_last_result_of, {:project_name => @project.name}).returns({:project_result => @project_result.to_hash}) - get :project_result, :profile => @profile.identifier, :id => @content.id, :date => nil - assert_equal @content, assigns(:content) - assert_equal @project_result.project.name, assigns(:project_result).project.name - assert_response 200 - assert_select('h4', 'Last Result') - end - - should 'test project results from a specific date' do - request_body = {:project_name => @project.name, :date => @date} - Kalibro::Processing.expects(:request).with("Processing", :has_results_before, request_body).returns({:has_results => true}) - Kalibro::Processing.expects(:request).with("Processing", :get_last_result_before, request_body).returns({:project_result => @project_result.to_hash}) - get :project_result, :profile => @profile.identifier, :id => @content.id, :date => @date - assert_equal @content, assigns(:content) - assert_equal @project_result.project.name, assigns(:project_result).project.name - assert_response 200 - assert_select('h4', 'Last Result') - end - - should 'test project tree without date' do - Kalibro::Processing.expects(:request).with("Processing", :get_last_result_of, {:project_name => @project.name}).returns({:project_result => @project_result.to_hash}) - Kalibro::Project.expects(:request).with("Project", :get_project, :project_name => @project.name).returns({:project => @project.to_hash}) - get :project_tree, :profile => @profile.identifier, :id => @content.id, :module_name => @project.name, :date => nil - assert_equal @content, assigns(:content) - assert_equal @project.name, assigns(:project_name) - assert_equal @project_result.source_tree.module.name, assigns(:source_tree).module.name - assert_response 200 - assert_select('h2', /Qt-Calculator/) - end - - should 'test project tree with a specific date' do - request_body = {:project_name => @project.name, :date => @project_result.date} - Kalibro::Project.expects(:request).with("Project", :get_project, :project_name => @project.name).returns({:project => @project.to_hash}) - Kalibro::Processing.expects(:request).with("Processing", :has_results_before, request_body).returns({:has_results => true}) - Kalibro::Processing.expects(:request).with("Processing", :get_last_result_before, request_body).returns({:project_result => @project_result.to_hash}) - get :project_tree, :profile => @profile.identifier, :id => @content.id, :module_name => @project.name, :date => @project_result.date - assert_equal @content, assigns(:content) - assert_equal @project.name, assigns(:project_name) - assert_equal @project_result.source_tree.module.name, assigns(:source_tree).module.name - assert_response 200 - end - -end diff --git a/plugins/mezuro/test/functional/profile/mezuro_plugin_repository_controller_test.rb b/plugins/mezuro/test/functional/profile/mezuro_plugin_repository_controller_test.rb index 4d4a601..d98c76a 100644 --- a/plugins/mezuro/test/functional/profile/mezuro_plugin_repository_controller_test.rb +++ b/plugins/mezuro/test/functional/profile/mezuro_plugin_repository_controller_test.rb @@ -6,6 +6,7 @@ require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/repository_fixtures" require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/project_content_fixtures" require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/configuration_fixtures" +#TODO terminar os testes class MezuroPluginRepositoryControllerTest < ActionController::TestCase def setup diff --git a/plugins/mezuro/test/unit/kalibro/processing_test.rb b/plugins/mezuro/test/unit/kalibro/processing_test.rb index 38d16a1..c21264a 100644 --- a/plugins/mezuro/test/unit/kalibro/processing_test.rb +++ b/plugins/mezuro/test/unit/kalibro/processing_test.rb @@ -1,7 +1,7 @@ require "test_helper" require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/processing_fixtures" - +#TODO arrumar os testes de unidade class ProcessingTest < ActiveSupport::TestCase def setup @@ -93,5 +93,57 @@ class ProcessingTest < ActiveSupport::TestCase Kalibro::Processing.expects(:request).with(:last_processing_before, {:repository_id => @repository_id, :date => @processing.date}).returns({:processing => @hash}) assert_equal @processing.id, Kalibro::Processing.last_processing_before(@repository_id, @processing.date).id end + +=begin + should 'get processing of a repository' do + Kalibro::Processing.expects(:has_ready_processing).with(@repository.id).returns(true) + Kalibro::Processing.expects(:last_ready_processing_of).with(@repository.id).returns(@processing) + assert_equal @processing, @project_content.processing(@repository.id) + end + + should 'get not ready processing of a repository' do + Kalibro::Processing.expects(:has_ready_processing).with(@repository.id).returns(false) + Kalibro::Processing.expects(:last_processing_of).with(@repository.id).returns(@processing) + assert_equal @processing, @project_content.processing(@repository.id) + end + + should 'get processing of a repository after date' do + Kalibro::Processing.expects(:has_processing_after).with(@repository.id, @date).returns(true) + Kalibro::Processing.expects(:first_processing_after).with(@repository.id, @date).returns(@processing) + assert_equal @processing, @project_content.processing_with_date(@repository.id, @date) + end + + should 'get processing of a repository before date' do + Kalibro::Processing.expects(:has_processing_after).with(@repository.id, @date).returns(false) + Kalibro::Processing.expects(:has_processing_before).with(@repository.id, @date).returns(true) + Kalibro::Processing.expects(:last_processing_before).with(@repository.id, @date).returns(@processing) + assert_equal @processing, @project_content.processing_with_date(@repository.id, @date) + end + + should 'get module result' do + @project_content.expects(:processing).with(@repository.id).returns(@processing) + Kalibro::ModuleResult.expects(:find).with(@processing.results_root_id).returns(@module_result) + assert_equal @module_result, @project_content.module_result(@repository.id) + + end + + should 'get module result with date' do + @project_content.expects(:processing_with_date).with(@repository.id,@date.to_s).returns(@processing) + Kalibro::ModuleResult.expects(:find).with(@processing.results_root_id).returns(@module_result) + assert_equal @module_result, @project_content.module_result(@repository.id, @date.to_s) + end + + should 'get result history' do + Kalibro::MetricResult.expects(:history_of).with(@module_result.id).returns([@date_metric_result]) + assert_equal [@date_metric_result], @project_content.result_history(@module_result.id) + end + + should 'add error to base when the module_result does not exist' do + Kalibro::MetricResult.expects(:history_of).with(@module_result.id).raises(Kalibro::Errors::RecordNotFound) + assert_nil @project_content.errors[:base] + @project_content.result_history(@module_result.id) + assert_not_nil @project_content.errors[:base] + end +=end end diff --git a/plugins/mezuro/test/unit/mezuro_plugin/project_content_test.rb b/plugins/mezuro/test/unit/mezuro_plugin/project_content_test.rb index 914d139..179c2c8 100644 --- a/plugins/mezuro/test/unit/mezuro_plugin/project_content_test.rb +++ b/plugins/mezuro/test/unit/mezuro_plugin/project_content_test.rb @@ -55,55 +55,5 @@ class ProjectContentTest < ActiveSupport::TestCase @project_content.repositories assert_not_nil @project_content.errors[:base] end - - should 'get processing of a repository' do - Kalibro::Processing.expects(:has_ready_processing).with(@repository.id).returns(true) - Kalibro::Processing.expects(:last_ready_processing_of).with(@repository.id).returns(@processing) - assert_equal @processing, @project_content.processing(@repository.id) - end - - should 'get not ready processing of a repository' do - Kalibro::Processing.expects(:has_ready_processing).with(@repository.id).returns(false) - Kalibro::Processing.expects(:last_processing_of).with(@repository.id).returns(@processing) - assert_equal @processing, @project_content.processing(@repository.id) - end - - should 'get processing of a repository after date' do - Kalibro::Processing.expects(:has_processing_after).with(@repository.id, @date).returns(true) - Kalibro::Processing.expects(:first_processing_after).with(@repository.id, @date).returns(@processing) - assert_equal @processing, @project_content.processing_with_date(@repository.id, @date) - end - - should 'get processing of a repository before date' do - Kalibro::Processing.expects(:has_processing_after).with(@repository.id, @date).returns(false) - Kalibro::Processing.expects(:has_processing_before).with(@repository.id, @date).returns(true) - Kalibro::Processing.expects(:last_processing_before).with(@repository.id, @date).returns(@processing) - assert_equal @processing, @project_content.processing_with_date(@repository.id, @date) - end - - should 'get module result' do - @project_content.expects(:processing).with(@repository.id).returns(@processing) - Kalibro::ModuleResult.expects(:find).with(@processing.results_root_id).returns(@module_result) - assert_equal @module_result, @project_content.module_result(@repository.id) - - end - - should 'get module result with date' do - @project_content.expects(:processing_with_date).with(@repository.id,@date.to_s).returns(@processing) - Kalibro::ModuleResult.expects(:find).with(@processing.results_root_id).returns(@module_result) - assert_equal @module_result, @project_content.module_result(@repository.id, @date.to_s) - end - - should 'get result history' do - Kalibro::MetricResult.expects(:history_of).with(@module_result.id).returns([@date_metric_result]) - assert_equal [@date_metric_result], @project_content.result_history(@module_result.id) - end - - should 'add error to base when the module_result does not exist' do - Kalibro::MetricResult.expects(:history_of).with(@module_result.id).raises(Kalibro::Errors::RecordNotFound) - assert_nil @project_content.errors[:base] - @project_content.result_history(@module_result.id) - assert_not_nil @project_content.errors[:base] - end end -- libgit2 0.21.2