Commit 929600e6e5afc62dae6d929a167a2ed5f0da9548
Committed by
Carlos Morais
1 parent
69091f13
Exists in
master
and in
28 other branches
[Mezuro] Refactoring ProjectContent
Showing
4 changed files
with
31 additions
and
4 deletions
Show diff stats
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 |