Commit f1d10294816a68a7f9f7e63997bad0d6c896aa35

Authored by João M. M. da Silva + Diego Araújo
Committed by Paulo Meireles
1 parent ed0bfc14

[Mezuro] refactored module_result action in my_profile controller.

plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb
... ... @@ -24,9 +24,7 @@ class MezuroPluginProfileController < ProfileController
24 24  
25 25 def module_result
26 26 @content = profile.articles.find(params[:id])
27   - date = params[:date]
28   - date.nil? ? @content.project_result : @content.project_result_with_date(date)
29   - @module_result = @content.module_result(params[:module_name])
  27 + @module_result = @content.module_result(params)
30 28 render :partial => 'content_viewer/module_result'
31 29 end
32 30  
... ...
plugins/mezuro/lib/mezuro_plugin/project_content.rb
... ... @@ -45,9 +45,10 @@ Kalibro::ProjectResult.first_result_after(name, date)
45 45 end
46 46 end
47 47  
48   - def module_result(module_name)
49   - module_name ||= project.name
50   - @module_result ||= Kalibro::ModuleResult.find_by_project_name_and_module_name_and_date(project.name, module_name, project_result.date)
  48 + def module_result(attributes)
  49 + module_name = attributes[:module_name].nil? ? project.name : attributes[:module_name]
  50 + date = attributes[:date].nil? ? project_result.date : project_result_with_date(attributes[:date]).date
  51 + @module_result ||= Kalibro::ModuleResult.find_by_project_name_and_module_name_and_date(project.name, module_name, date)
51 52 end
52 53  
53 54 def result_history(module_name)
... ...
plugins/mezuro/test/unit/mezuro_plugin/project_content_test.rb
... ... @@ -51,7 +51,7 @@ class ProjectContentTest < ActiveSupport::TestCase
51 51 assert_equal @project_result.load_time, @content.project_result_with_date(@project_result.date).load_time
52 52 end
53 53  
54   - should 'get module result from service' do
  54 + should 'get module result from service without date' do
55 55 date_with_milliseconds = Kalibro::ProjectResult.date_with_milliseconds(@project_result.date)
56 56 Kalibro::ProjectResult.expects(:request).with('ProjectResult', :get_last_result_of, {:project_name => @project.name}).returns({:project_result => @project_result.to_hash})
57 57 Kalibro::ModuleResult.expects(:request).with(
... ... @@ -62,7 +62,23 @@ class ProjectContentTest < ActiveSupport::TestCase
62 62 :module_name => @module.name,
63 63 :date => date_with_milliseconds
64 64 }).returns({:module_result => @module_result.to_hash})
65   - assert_equal @module_result.grade, @content.module_result(@module.name).grade
  65 + assert_equal @module_result.grade, @content.module_result({:module_name => @module.name}).grade
  66 + end
  67 +
  68 + should 'get module result from service with date' do
  69 + date_with_milliseconds = Kalibro::ProjectResult.date_with_milliseconds(@project_result.date)
  70 + request_body = {:project_name => @project.name, :date => @project_result.date}
  71 + Kalibro::ProjectResult.expects(:request).with("ProjectResult", :has_results_before, request_body).returns({:has_results => false})
  72 + Kalibro::ProjectResult.expects(:request).with("ProjectResult", :get_first_result_after, request_body).returns({:project_result => @project_result.to_hash})
  73 + Kalibro::ModuleResult.expects(:request).with(
  74 + 'ModuleResult',
  75 + :get_module_result,
  76 + {
  77 + :project_name => @project.name,
  78 + :module_name => @module.name,
  79 + :date => date_with_milliseconds
  80 + }).returns({:module_result => @module_result.to_hash})
  81 + assert_equal @module_result.grade, @content.module_result({:module_name => @module.name, :date => @project_result.date}).grade
66 82 end
67 83  
68 84 should 'get result history' do
... ...