Commit 929600e6e5afc62dae6d929a167a2ed5f0da9548

Authored by Carlos Morais + Paulo Meirelles
Committed by Carlos Morais
1 parent 69091f13

[Mezuro] Refactoring ProjectContent

plugins/mezuro/lib/kalibro/client/module_result_client.rb
1 class Kalibro::Client::ModuleResultClient 1 class Kalibro::Client::ModuleResultClient
  2 +
  3 + def self.module_result(project_content, module_name)
  4 + project_result = project_content.project_result
  5 + new.module_result(project_result.project.name, module_name, project_result.date)
  6 + end
2 7
3 def initialize 8 def initialize
4 @port = Kalibro::Client::Port.new('ModuleResult') 9 @port = Kalibro::Client::Port.new('ModuleResult')
plugins/mezuro/lib/kalibro/client/project_result_client.rb
1 class Kalibro::Client::ProjectResultClient 1 class Kalibro::Client::ProjectResultClient
2 2
  3 + def self.last_result(project_name)
  4 + new.last_result(project_name)
  5 + end
  6 +
3 def initialize 7 def initialize
4 @port = Kalibro::Client::Port.new('ProjectResult') 8 @port = Kalibro::Client::Port.new('ProjectResult')
5 end 9 end
plugins/mezuro/lib/mezuro_plugin/project_content.rb
@@ -19,16 +19,15 @@ class MezuroPlugin::ProjectContent < Article @@ -19,16 +19,15 @@ class MezuroPlugin::ProjectContent < Article
19 19
20 # From ProjectClient 20 # From ProjectClient
21 def project 21 def project
22 - Kalibro::Client::ProjectClient.project(name) 22 + @project ||= Kalibro::Client::ProjectClient.project(name)
23 end 23 end
24 24
25 def project_result 25 def project_result
26 - @project_result ||= Kalibro::Client::ProjectResultClient.new.last_result(name) 26 + @project_result ||= Kalibro::Client::ProjectResultClient.last_result(name)
27 end 27 end
28 28
29 def module_result(module_name) 29 def module_result(module_name)
30 - @module_client ||= Kalibro::Client::ModuleResultClient.new  
31 - @module_client.module_result(name, module_name, project_result.date) 30 + @module_client ||= Kalibro::Client::ModuleResultClient.module_result(self, module_name)
32 end 31 end
33 32
34 after_save :send_project_to_service 33 after_save :send_project_to_service
plugins/mezuro/test/unit/mezuro_plugin/project_content_test.rb
@@ -31,6 +31,25 @@ class ProjectContentTest < ActiveSupport::TestCase @@ -31,6 +31,25 @@ class ProjectContentTest < ActiveSupport::TestCase
31 assert_not_nil @content.to_html 31 assert_not_nil @content.to_html
32 end 32 end
33 33
  34 + should 'get project from service' do
  35 + Kalibro::Client::ProjectClient.expects(:project).with(@content.name).returns(@project)
  36 + assert_equal @project, @content.project
  37 + end
  38 +
  39 + should 'get project result from service' do
  40 + project_result = mock
  41 + Kalibro::Client::ProjectResultClient.expects(:last_result).with(@content.name).returns(project_result)
  42 + assert_equal project_result, @content.project_result
  43 + end
  44 +
  45 + should 'get module result from service' do
  46 + module_name = 'My module name'
  47 + module_result = mock
  48 + Kalibro::Client::ModuleResultClient.expects(:module_result).with(@content, module_name).
  49 + returns(module_result)
  50 + assert_equal module_result, @content.module_result(module_name)
  51 + end
  52 +
34 should 'run send project to service on after_save callback' do 53 should 'run send project to service on after_save callback' do
35 @content.expects :send_project_to_service 54 @content.expects :send_project_to_service
36 @content.run_callbacks :after_save 55 @content.run_callbacks :after_save