From b046e2a3e49e2f4dd27abe009a9f820e64fec692 Mon Sep 17 00:00:00 2001 From: Carlos Morais Date: Thu, 9 Feb 2012 21:00:50 -0200 Subject: [PATCH] [Mezuro] Initial functional tests --- plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb | 3 ++- plugins/mezuro/test/functional/mezuro_plugin_profile_controller_test.rb | 69 ++++++++++++++++++++++++++++++++------------------------------------- plugins/mezuro/test/mezuro_test.rb | 12 ------------ 3 files changed, 34 insertions(+), 50 deletions(-) delete mode 100644 plugins/mezuro/test/mezuro_test.rb diff --git a/plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb b/plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb index 015a6e1..aa9893b 100644 --- a/plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb +++ b/plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb @@ -3,7 +3,8 @@ class MezuroPluginProfileController < ProfileController def metrics project_content = profile.articles.find(params[:id]) module_name = params[:module_name] - render :partial => 'content_viewer/module_result', :locals => { :module_result => project_content.module_result(module_name) } + render :partial => 'content_viewer/module_result', + :locals => { :module_result => project_content.module_result(module_name)} end end diff --git a/plugins/mezuro/test/functional/mezuro_plugin_profile_controller_test.rb b/plugins/mezuro/test/functional/mezuro_plugin_profile_controller_test.rb index 47622f0..047ef6d 100644 --- a/plugins/mezuro/test/functional/mezuro_plugin_profile_controller_test.rb +++ b/plugins/mezuro/test/functional/mezuro_plugin_profile_controller_test.rb @@ -1,66 +1,61 @@ require 'test_helper' -class MezuroPluginProfileControllerTest < ActiveSupport::TestCase +require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/module_result_fixtures" +require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/project_result_fixtures" + +class MezuroPluginProfileControllerTest < ActionController::TestCase def setup @controller = MezuroPluginProfileController.new @request = ActionController::TestRequest.new - @response = ActionController::TestResponse.new + @response = ActionController::TestResponse.new @profile = fast_create(Community) @profile_id = @profile.identifier + + @module_result = ModuleResultFixtures.create + @project_result = ProjectResultFixtures.project_result + @project = @project_result.project end -# def test_metrics_for_unknown_module -# get :metrics, :profile => @profile_id, :id => 0 +# def test_metrics_for_unknown_project +# get :metrics, :profile => @profile_id # assert_response 404 # end - +# # def test_metric_unknown_module -# get :metrics, :profile => @profile_id, :id => @project_content.id, :module_name => 'veryunlikelyname' -# assert_response 404 +# get :metrics, :profile => @profile_id, :id => @project_content.id, :module_name => 'veryunlikelyname' +# assert_response 404 # end -# def test_metrics_for_known_module -# @project_content = create_project_content(@profile) -# get :metrics, :profile => @profile_id, :id => @project_content.id, :module_name => @project_content.name -# assert_response 200 -# # assert_tag # TODO -# end + def test_metrics_for_known_module + @project_content = create_project_content(@profile) + Kalibro::Client::ProjectResultClient.expects(:last_result).with(@project.name).returns(@project_result) + Kalibro::Client::ModuleResultClient.expects(:module_result). + with(@project.name, @project.name, @project_result.date).returns(@module_result) + get :metrics, :profile => @profile_id, :id => @project_content.id, :module_name => @project_content.title + assert_response 200 + # assert_tag # TODO + end protected # returns a new ProjectContent for the given profile def create_project_content(profile) - project_content = MezuroPlugin::ProjectContent.create!(:profile => profile, :name => 'foo') + Kalibro::Client::ProjectClient.expects(:save).with(@project) + Kalibro::Client::KalibroClient.expects(:process_project).with(@project.name) - project = create_project(project_content.name) - project_content.license = project.license - project_content.description = project.description - project_content.repository_type = project.repository.type - project_content.repository_url = project.repository.address - project_content.configuration_name = project.configuration_name + project_content = MezuroPlugin::ProjectContent.new(:profile => profile, :name => @project.name) + project_content.license = @project.license + project_content.description = @project.description + project_content.repository_type = @project.repository.type + project_content.repository_url = @project.repository.address + project_content.configuration_name = @project.configuration_name + project_content.save MezuroPlugin::ProjectContent.any_instance.stubs(:project_content).returns(project_content) project_content end - - def create_project(name) - project = Kalibro::Entities::Project.new - project.name = name - project.license = 'GPL' - project.description = 'testing' - project.repository = crieate_repository - project.configuration_name = 'Kalibro Default' - project - end - - def create_repository - repository = Kalibro::Entities::Repository.new - repository.type = 'git' - repository.address = 'http://git.git' - repository - end #TODO Adicionar module result manualmente #TODO Ver testes do project content, refatorar o project content em cima dos testes diff --git a/plugins/mezuro/test/mezuro_test.rb b/plugins/mezuro/test/mezuro_test.rb deleted file mode 100644 index d585e3c..0000000 --- a/plugins/mezuro/test/mezuro_test.rb +++ /dev/null @@ -1,12 +0,0 @@ -require "test_helper" - -require File.dirname(__FILE__) + '/../controllers/mezuro_plugin_myprofile_controller' - -class MezuroTest < ActiveSupport::TestCase - - should 'create a mezuro project' do - controller = MezuroPluginMyprofileController.new - controller.create - end - -end -- libgit2 0.21.2