Commit 16914728c84a56f7c1eb539a4227809aee651161

Authored by Caio
1 parent fccc9c74

[Mezuro] started error treatment when a project doesn't exist in kalibro

plugins/mezuro/lib/kalibro/client/project_client.rb
@@ -46,7 +46,15 @@ class Kalibro::Client::ProjectClient @@ -46,7 +46,15 @@ class Kalibro::Client::ProjectClient
46 end 46 end
47 47
48 def project(project_name) 48 def project(project_name)
49 - hash = @port.request(:get_project, {:project_name => project_name})[:project] 49 + begin
  50 + hash = @port.request(:get_project, {:project_name => project_name})[:project]
  51 + rescue Exception => error
  52 + if (error.to_s =~ /There is no project named/) != nil
  53 + return nil
  54 + else
  55 + raise error
  56 + end
  57 + end
50 Kalibro::Entities::Project.from_hash(hash) 58 Kalibro::Entities::Project.from_hash(hash)
51 end 59 end
52 60
plugins/mezuro/lib/mezuro_plugin/project_content.rb
@@ -14,19 +14,10 @@ class MezuroPlugin::ProjectContent < Article @@ -14,19 +14,10 @@ class MezuroPlugin::ProjectContent < Article
14 include ActionView::Helpers::TagHelper 14 include ActionView::Helpers::TagHelper
15 def to_html(options = {}) 15 def to_html(options = {})
16 lambda do 16 lambda do
17 -  
18 - render :file => 'content_viewer/show_project.rhtml', :locals => { :project => project_kalibro, :error_kalibro => error_kalibro } 17 + render :file => 'content_viewer/show_project.rhtml'
19 end 18 end
20 end 19 end
21 20
22 - def rescue_error_kalibro  
23 - error_kalibro = false  
24 - begin  
25 - project_kalibro = project  
26 - rescue  
27 - error_kalibro = true  
28 - end  
29 - end  
30 21
31 def project 22 def project
32 @project ||= Kalibro::Client::ProjectClient.project(name) 23 @project ||= Kalibro::Client::ProjectClient.project(name)
plugins/mezuro/test/unit/kalibro/client/project_client_test.rb
@@ -16,6 +16,13 @@ class ProjectClientTest < ActiveSupport::TestCase @@ -16,6 +16,13 @@ class ProjectClientTest < ActiveSupport::TestCase
16 @port.expects(:request).with(:get_project, request_body).returns(response_hash) 16 @port.expects(:request).with(:get_project, request_body).returns(response_hash)
17 assert_equal @project, Kalibro::Client::ProjectClient.project(@project.name) 17 assert_equal @project, Kalibro::Client::ProjectClient.project(@project.name)
18 end 18 end
  19 +
  20 + should 'raise error when project doesnt exist' do
  21 + request_body = {:project_name => @project.name}
  22 + @port.expects(:request).with(:get_project, request_body)
  23 + .raises(Exception.new("(S:Server) There is no project named " + @project.name))
  24 + assert_nil Kalibro::Client::ProjectClient.project(@project.name)
  25 + end
19 26
20 should 'save project' do 27 should 'save project' do
21 create_project_content_mock 28 create_project_content_mock
plugins/mezuro/test/unit/mezuro_plugin/project_content_test.rb
@@ -31,11 +31,6 @@ class ProjectContentTest < ActiveSupport::TestCase @@ -31,11 +31,6 @@ class ProjectContentTest < ActiveSupport::TestCase
31 should 'have an html view' do 31 should 'have an html view' do
32 assert_not_nil @content.to_html 32 assert_not_nil @content.to_html
33 end 33 end
34 -  
35 - should 'rescue error when project doesnt exist in kalibro' do  
36 - MezuroPlugin::ProjectContent.expects(:project).returns(create_project_error)  
37 - assert_equal true, @content.rescue_error_kalibro  
38 - end  
39 34
40 should 'get project from service' do 35 should 'get project from service' do
41 Kalibro::Client::ProjectClient.expects(:project).with(@content.name).returns(@project) 36 Kalibro::Client::ProjectClient.expects(:project).with(@content.name).returns(@project)
plugins/mezuro/views/content_viewer/show_project.rhtml
1 <script src="/plugins/mezuro/javascripts/project_content.js" type="text/javascript"></script> 1 <script src="/plugins/mezuro/javascripts/project_content.js" type="text/javascript"></script>
2 -<% if error_kalibro %>  
3 - Projeto nao existe TODO: Perguntar oa usuário se deseja excluir o projeto do Noosfero  
4 -<% else %>  
5 -<% @project = project %> 2 +
  3 +<% @project = @page.project %>
6 <table> 4 <table>
7 <tr> 5 <tr>
8 <td><%= _('Name') %></td> 6 <td><%= _('Name') %></td>
@@ -45,4 +43,4 @@ @@ -45,4 +43,4 @@
45 <div id="project-tree"></div> 43 <div id="project-tree"></div>
46 <div id="module-result"> 44 <div id="module-result">
47 </div> 45 </div>
48 -<% end %> 46 +