From f1d10294816a68a7f9f7e63997bad0d6c896aa35 Mon Sep 17 00:00:00 2001 From: João M. M. da Silva + Diego Araújo Date: Thu, 19 Jul 2012 16:07:47 -0300 Subject: [PATCH] [Mezuro] refactored module_result action in my_profile controller. --- plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb | 4 +--- plugins/mezuro/lib/mezuro_plugin/project_content.rb | 7 ++++--- plugins/mezuro/test/unit/mezuro_plugin/project_content_test.rb | 20 ++++++++++++++++++-- 3 files changed, 23 insertions(+), 8 deletions(-) diff --git a/plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb b/plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb index 1ca216f..2480bb6 100644 --- a/plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb +++ b/plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb @@ -24,9 +24,7 @@ class MezuroPluginProfileController < ProfileController def module_result @content = profile.articles.find(params[:id]) - date = params[:date] - date.nil? ? @content.project_result : @content.project_result_with_date(date) - @module_result = @content.module_result(params[:module_name]) + @module_result = @content.module_result(params) render :partial => 'content_viewer/module_result' end diff --git a/plugins/mezuro/lib/mezuro_plugin/project_content.rb b/plugins/mezuro/lib/mezuro_plugin/project_content.rb index 1a27433..e017b37 100644 --- a/plugins/mezuro/lib/mezuro_plugin/project_content.rb +++ b/plugins/mezuro/lib/mezuro_plugin/project_content.rb @@ -45,9 +45,10 @@ Kalibro::ProjectResult.first_result_after(name, date) end end - def module_result(module_name) - module_name ||= project.name - @module_result ||= Kalibro::ModuleResult.find_by_project_name_and_module_name_and_date(project.name, module_name, project_result.date) + def module_result(attributes) + module_name = attributes[:module_name].nil? ? project.name : attributes[:module_name] + date = attributes[:date].nil? ? project_result.date : project_result_with_date(attributes[:date]).date + @module_result ||= Kalibro::ModuleResult.find_by_project_name_and_module_name_and_date(project.name, module_name, date) end def result_history(module_name) 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 b3b066b..dba3c00 100644 --- a/plugins/mezuro/test/unit/mezuro_plugin/project_content_test.rb +++ b/plugins/mezuro/test/unit/mezuro_plugin/project_content_test.rb @@ -51,7 +51,7 @@ class ProjectContentTest < ActiveSupport::TestCase assert_equal @project_result.load_time, @content.project_result_with_date(@project_result.date).load_time end - should 'get module result from service' do + should 'get module result from service without date' do date_with_milliseconds = Kalibro::ProjectResult.date_with_milliseconds(@project_result.date) Kalibro::ProjectResult.expects(:request).with('ProjectResult', :get_last_result_of, {:project_name => @project.name}).returns({:project_result => @project_result.to_hash}) Kalibro::ModuleResult.expects(:request).with( @@ -62,7 +62,23 @@ class ProjectContentTest < ActiveSupport::TestCase :module_name => @module.name, :date => date_with_milliseconds }).returns({:module_result => @module_result.to_hash}) - assert_equal @module_result.grade, @content.module_result(@module.name).grade + assert_equal @module_result.grade, @content.module_result({:module_name => @module.name}).grade + end + + should 'get module result from service with date' do + date_with_milliseconds = Kalibro::ProjectResult.date_with_milliseconds(@project_result.date) + request_body = {:project_name => @project.name, :date => @project_result.date} + Kalibro::ProjectResult.expects(:request).with("ProjectResult", :has_results_before, request_body).returns({:has_results => false}) + Kalibro::ProjectResult.expects(:request).with("ProjectResult", :get_first_result_after, request_body).returns({:project_result => @project_result.to_hash}) + Kalibro::ModuleResult.expects(:request).with( + 'ModuleResult', + :get_module_result, + { + :project_name => @project.name, + :module_name => @module.name, + :date => date_with_milliseconds + }).returns({:module_result => @module_result.to_hash}) + assert_equal @module_result.grade, @content.module_result({:module_name => @module.name, :date => @project_result.date}).grade end should 'get result history' do -- libgit2 0.21.2