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 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 8 def initialize
4 9 @port = Kalibro::Client::Port.new('ModuleResult')
... ...
plugins/mezuro/lib/kalibro/client/project_result_client.rb
1 1 class Kalibro::Client::ProjectResultClient
2 2  
  3 + def self.last_result(project_name)
  4 + new.last_result(project_name)
  5 + end
  6 +
3 7 def initialize
4 8 @port = Kalibro::Client::Port.new('ProjectResult')
5 9 end
... ...
plugins/mezuro/lib/mezuro_plugin/project_content.rb
... ... @@ -19,16 +19,15 @@ class MezuroPlugin::ProjectContent < Article
19 19  
20 20 # From ProjectClient
21 21 def project
22   - Kalibro::Client::ProjectClient.project(name)
  22 + @project ||= Kalibro::Client::ProjectClient.project(name)
23 23 end
24 24  
25 25 def project_result
26   - @project_result ||= Kalibro::Client::ProjectResultClient.new.last_result(name)
  26 + @project_result ||= Kalibro::Client::ProjectResultClient.last_result(name)
27 27 end
28 28  
29 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 31 end
33 32  
34 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 31 assert_not_nil @content.to_html
32 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 53 should 'run send project to service on after_save callback' do
35 54 @content.expects :send_project_to_service
36 55 @content.run_callbacks :after_save
... ...