Commit 5a8e308c402e5cf9421f881011fb653035e0706f
Committed by
Paulo Meireles
1 parent
dbfafb3d
Exists in
master
and in
28 other branches
[Mezuro] Fixed bug for when there are no projects.
Showing
4 changed files
with
18 additions
and
8 deletions
Show diff stats
plugins/mezuro/lib/kalibro/model.rb
... | ... | @@ -14,12 +14,14 @@ class Kalibro::Model |
14 | 14 | fields.each do |field| |
15 | 15 | if(!excepts.include?(field)) |
16 | 16 | field_value = send(field) |
17 | - hash[field] = convert_to_hash(field_value) if ! field_value.nil? | |
18 | - if field_value.is_a?(Kalibro::Model) | |
19 | - hash = {:attributes! => {}}.merge(hash) | |
20 | - hash[:attributes!][field.to_sym] = { | |
21 | - 'xmlns:xsi'=> 'http://www.w3.org/2001/XMLSchema-instance', | |
22 | - 'xsi:type' => 'kalibro:' + xml_class_name(field_value) } | |
17 | + if !field_value.nil? | |
18 | + hash[field] = convert_to_hash(field_value) | |
19 | + if field_value.is_a?(Kalibro::Model) | |
20 | + hash = {:attributes! => {}}.merge(hash) | |
21 | + hash[:attributes!][field.to_sym] = { | |
22 | + 'xmlns:xsi'=> 'http://www.w3.org/2001/XMLSchema-instance', | |
23 | + 'xsi:type' => 'kalibro:' + xml_class_name(field_value) } | |
24 | + end | |
23 | 25 | end |
24 | 26 | end |
25 | 27 | end | ... | ... |
plugins/mezuro/lib/kalibro/project.rb
... | ... | @@ -3,7 +3,9 @@ class Kalibro::Project < Kalibro::Model |
3 | 3 | attr_accessor :name, :license, :description, :repository, :configuration_name, :state, :kalibro_error |
4 | 4 | |
5 | 5 | def self.all_names |
6 | - request("Project", :get_project_names)[:project_name] | |
6 | + response = request("Project", :get_project_names)[:project_name] | |
7 | + response = [] if response.nil? | |
8 | + response | |
7 | 9 | end |
8 | 10 | |
9 | 11 | def self.find_by_name(project_name) | ... | ... |
plugins/mezuro/test/unit/kalibro/project_test.rb
... | ... | @@ -16,6 +16,12 @@ class ProjectTest < ActiveSupport::TestCase |
16 | 16 | assert_equal response_hash[:project_name], Kalibro::Project.all_names |
17 | 17 | end |
18 | 18 | |
19 | + should 'return empty when there are no projects' do | |
20 | + response_hash = {:project_name => nil} | |
21 | + Kalibro::Project.expects(:request).with("Project", :get_project_names).returns(response_hash) | |
22 | + assert_equal [], Kalibro::Project.all_names | |
23 | + end | |
24 | + | |
19 | 25 | should 'find project by name' do |
20 | 26 | request_body = {:project_name => @project.name} |
21 | 27 | response_hash = {:project => @hash} | ... | ... |