From 6e215742ed1bc7fae681a00d0e6001d8c682d746 Mon Sep 17 00:00:00 2001 From: Carlos Morais Date: Fri, 17 Feb 2012 11:31:18 -0200 Subject: [PATCH] [Mezuro] Controller.project_state returns error state --- plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb | 15 ++++++++------- plugins/mezuro/test/functional/mezuro_plugin_profile_controller_test.rb | 34 ++++++++++++++++++++++------------ 2 files changed, 30 insertions(+), 19 deletions(-) diff --git a/plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb b/plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb index 5eed2f2..57acebb 100644 --- a/plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb +++ b/plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb @@ -3,21 +3,22 @@ class MezuroPluginProfileController < ProfileController append_view_path File.join(File.dirname(__FILE__) + '/../views') def module_result - project_content = profile.articles.find(params[:id]) - module_result = project_content.module_result(params[:module_name]) + content = profile.articles.find(params[:id]) + module_result = content.module_result(params[:module_name]) render :partial => 'content_viewer/module_result', :locals => { :module_result => module_result} end def project_result - project_content = profile.articles.find(params[:id]) - project_result = project_content.project_result + content = profile.articles.find(params[:id]) + project_result = content.project_result render :partial => 'content_viewer/project_result', :locals => { :project_result => project_result } end def project_state - project_content = profile.articles.find(params[:id]) - project_content.project.state - render :text => "READY" + content = profile.articles.find(params[:id]) + project = content.project + state = project.error.nil? ? project.state : "ERROR" + render :text => state 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 eb500a1..5cda00e 100644 --- a/plugins/mezuro/test/functional/mezuro_plugin_profile_controller_test.rb +++ b/plugins/mezuro/test/functional/mezuro_plugin_profile_controller_test.rb @@ -11,9 +11,10 @@ class MezuroPluginProfileControllerTest < ActionController::TestCase @response = ActionController::TestResponse.new @profile = fast_create(Community) - @module_result = ModuleResultFixtures.create - @module_name = @module_result.module.name @project_result = ProjectResultFixtures.qt_calculator + @module_result = ModuleResultFixtures.create + @project = @project_result.project + @name = @project.name end should 'not find module result for inexistent project content' do @@ -23,34 +24,43 @@ class MezuroPluginProfileControllerTest < ActionController::TestCase should 'get metric results for a module' do create_project_content - Kalibro::Client::ModuleResultClient.expects(:module_result).with(@project_content, @module_name).returns(@module_result) - get :module_result, :profile => @profile.identifier, :id => @project_content.id, :module_name => @module_name + Kalibro::Client::ModuleResultClient.expects(:module_result).with(@content, @name).returns(@module_result) + get :module_result, :profile => @profile.identifier, :id => @content.id, :module_name => @name assert_response 200 assert_select('h5', 'Metric results for: Qt-Calculator (APPLICATION)') end should 'get project results' do create_project_content - Kalibro::Client::ProjectResultClient.expects(:last_result).with(@project_content.name).returns(@project_result) - get :project_result, :profile => @profile.identifier, :id => @project_content.id + Kalibro::Client::ProjectResultClient.expects(:last_result).with(@name).returns(@project_result) + get :project_result, :profile => @profile.identifier, :id => @content.id assert_response 200 assert_select('h3', 'LAST RESULT') end should 'get project state' do create_project_content - Kalibro::Client::ProjectClient.expects(:project).with(@project_content.name).returns(@project_result.project) - get :project_state, :profile => @profile.identifier, :id => @project_content.id + Kalibro::Client::ProjectClient.expects(:project).with(@name).returns(@project) + get :project_state, :profile => @profile.identifier, :id => @content.id + assert_response 200 + assert_equal @project.state, @response.body + end + + should 'get error state if project has error' do + create_project_content + Kalibro::Client::ProjectClient.expects(:project).with(@name).returns(@project) + @project.expects(:error).returns("") + get :project_state, :profile => @profile.identifier, :id => @content.id assert_response 200 - assert_equal "READY", @response.body + assert_equal "ERROR", @response.body end private def create_project_content - @project_content = MezuroPlugin::ProjectContent.new(:profile => @profile, :name => @module_name) - @project_content.expects(:send_project_to_service).returns(nil) - @project_content.save + @content = MezuroPlugin::ProjectContent.new(:profile => @profile, :name => @name) + @content.expects(:send_project_to_service).returns(nil) + @content.save end end -- libgit2 0.21.2