Commit f1d10294816a68a7f9f7e63997bad0d6c896aa35
Committed by
Paulo Meireles
1 parent
ed0bfc14
Exists in
master
and in
29 other branches
[Mezuro] refactored module_result action in my_profile controller.
Showing
3 changed files
with
23 additions
and
8 deletions
Show diff stats
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 | ... | ... |