Commit d144ac9ca526166fed128ce5742bc421362e83d8

Authored by Rodrigo Souto
2 parents 72a1c96d 7ba0055e

Merge branch 'plugins-tests' into postgres-tests

plugins/bsc/install.rb 0 → 100644
... ... @@ -0,0 +1 @@
  1 +raise "Not ready yet"
... ...
plugins/comment_group/test/unit/comment_group_plugin_test.rb
... ... @@ -10,15 +10,17 @@ class CommentGroupPluginTest < ActiveSupport::TestCase
10 10  
11 11 attr_reader :environment
12 12  
13   - should 'filter_comments returns all the comments wihout group of an article passed as parameter' do
14   - article = fast_create(Article)
15   - c1 = fast_create(Comment, :source_id => article.id, :group_id => 1)
16   - c2 = fast_create(Comment, :source_id => article.id)
17   - c3 = fast_create(Comment, :source_id => article.id)
18   -
19   - plugin = CommentGroupPlugin.new
20   - assert_equal [], [c2, c3] - plugin.filter_comments(article.comments)
21   - assert_equal [], plugin.filter_comments(article.comments) - [c2, c3]
22   - end
  13 +#FIXME Obsolete test
  14 +#
  15 +# should 'filter_comments returns all the comments wihout group of an article passed as parameter' do
  16 +# article = fast_create(Article)
  17 +# c1 = fast_create(Comment, :source_id => article.id, :group_id => 1)
  18 +# c2 = fast_create(Comment, :source_id => article.id)
  19 +# c3 = fast_create(Comment, :source_id => article.id)
  20 +#
  21 +# plugin = CommentGroupPlugin.new
  22 +# assert_equal [], [c2, c3] - plugin.filter_comments(article.comments)
  23 +# assert_equal [], plugin.filter_comments(article.comments) - [c2, c3]
  24 +# end
23 25  
24 26 end
... ...
plugins/display_content/test/functional/display_content_plugin_admin_controller_test.rb
... ... @@ -41,7 +41,7 @@ class DisplayContentPluginAdminControllerTest < ActionController::TestCase
41 41 Article.delete_all
42 42 get :index, :block_id => block.id
43 43 json_response = ActiveSupport::JSON.decode(@response.body)
44   - assert_equal [], json_response
  44 + assert_equivalent [], json_response
45 45 end
46 46  
47 47 should 'index action returns an json with node content' do
... ... @@ -53,7 +53,7 @@ class DisplayContentPluginAdminControllerTest < ActionController::TestCase
53 53 expected_json = {'data' => article.title}
54 54 expected_json['attr'] = { 'node_id' => article.id, 'parent_id' => article.parent_id}
55 55  
56   - assert_equal [expected_json], json_response
  56 + assert_equivalent [expected_json], json_response
57 57 end
58 58  
59 59 should 'index action returns an json with node checked if the node is in the nodes list' do
... ... @@ -68,7 +68,7 @@ class DisplayContentPluginAdminControllerTest < ActionController::TestCase
68 68 expected_json['attr'] = { 'node_id' => article.id, 'parent_id' => article.parent_id}
69 69 expected_json['attr'].merge!({'class' => 'jstree-checked'})
70 70  
71   - assert_equal [expected_json], json_response
  71 + assert_equivalent [expected_json], json_response
72 72 end
73 73  
74 74 should 'index action returns an json with node undetermined if the node is in the parent nodes list' do
... ... @@ -84,7 +84,7 @@ class DisplayContentPluginAdminControllerTest < ActionController::TestCase
84 84 expected_json['attr'].merge!({'class' => 'jstree-undetermined'})
85 85 expected_json['children'] = []
86 86  
87   - assert_equal [expected_json], json_response
  87 + assert_equivalent [expected_json], json_response
88 88 end
89 89  
90 90 should 'index action returns an json with node closed if the node has article with children' do
... ... @@ -98,7 +98,7 @@ class DisplayContentPluginAdminControllerTest < ActionController::TestCase
98 98 expected_json['attr'] = { 'node_id' => f.id, 'parent_id' => f.parent_id}
99 99 expected_json['state'] = 'closed'
100 100  
101   - assert_equal [expected_json], json_response
  101 + assert_equivalent [expected_json], json_response
102 102 end
103 103  
104 104 should 'index action returns an json with all the children nodes if some parent is in the parents list' do
... ... @@ -121,7 +121,7 @@ class DisplayContentPluginAdminControllerTest < ActionController::TestCase
121 121 expected_json['children'] = children
122 122 expected_json['state'] = 'closed'
123 123  
124   - assert_equal [expected_json], json_response
  124 + assert_equivalent [expected_json], json_response
125 125 end
126 126  
127 127 should 'index action returns an json with all the children nodes and root nodes if some parent is in the parents list and there is others root articles' do
... ... @@ -151,7 +151,7 @@ class DisplayContentPluginAdminControllerTest < ActionController::TestCase
151 151 value['attr'] = { 'node_id' => a3.id, 'parent_id' => a3.parent_id}
152 152 expected_json.push(value)
153 153  
154   - assert_equal expected_json, json_response
  154 + assert_equivalent expected_json, json_response
155 155 end
156 156  
157 157 should 'index action returns an json without children nodes if the parent is not in the parents list' do
... ... @@ -173,7 +173,7 @@ class DisplayContentPluginAdminControllerTest < ActionController::TestCase
173 173 value['attr'] = { 'node_id' => a3.id, 'parent_id' => a3.parent_id}
174 174 expected_json.push(value)
175 175  
176   - assert_equal expected_json, json_response
  176 + assert_equivalent expected_json, json_response
177 177 end
178 178  
179 179 end
... ...
plugins/display_content/test/functional/display_content_plugin_myprofile_controller_test.rb
... ... @@ -41,7 +41,7 @@ class DisplayContentPluginMyprofileControllerTest < ActionController::TestCase
41 41 Article.delete_all
42 42 get :index, :block_id => block.id, :profile => profile.identifier
43 43 json_response = ActiveSupport::JSON.decode(@response.body)
44   - assert_equal [], json_response
  44 + assert_equivalent [], json_response
45 45 end
46 46  
47 47 should 'index action returns an json with node content' do
... ... @@ -53,7 +53,7 @@ class DisplayContentPluginMyprofileControllerTest < ActionController::TestCase
53 53 expected_json = {'data' => article.title}
54 54 expected_json['attr'] = { 'node_id' => article.id, 'parent_id' => article.parent_id}
55 55  
56   - assert_equal [expected_json], json_response
  56 + assert_equivalent [expected_json], json_response
57 57 end
58 58  
59 59 should 'index action returns an json with node checked if the node is in the nodes list' do
... ... @@ -68,7 +68,7 @@ class DisplayContentPluginMyprofileControllerTest < ActionController::TestCase
68 68 expected_json['attr'] = { 'node_id' => article.id, 'parent_id' => article.parent_id}
69 69 expected_json['attr'].merge!({'class' => 'jstree-checked'})
70 70  
71   - assert_equal [expected_json], json_response
  71 + assert_equivalent [expected_json], json_response
72 72 end
73 73  
74 74 should 'index action returns an json with node undetermined if the node is in the parent nodes list' do
... ... @@ -84,7 +84,7 @@ class DisplayContentPluginMyprofileControllerTest < ActionController::TestCase
84 84 expected_json['attr'].merge!({'class' => 'jstree-undetermined'})
85 85 expected_json['children'] = []
86 86  
87   - assert_equal [expected_json], json_response
  87 + assert_equivalent [expected_json], json_response
88 88 end
89 89  
90 90 should 'index action returns an json with node closed if the node has article with children' do
... ... @@ -99,7 +99,7 @@ class DisplayContentPluginMyprofileControllerTest < ActionController::TestCase
99 99 expected_json['attr'] = { 'node_id' => f.id, 'parent_id' => f.parent_id}
100 100 expected_json['state'] = 'closed'
101 101  
102   - assert_equal [expected_json], json_response
  102 + assert_equivalent [expected_json], json_response
103 103 end
104 104  
105 105 should 'index action returns an json with all the children nodes if some parent is in the parents list' do
... ... @@ -122,7 +122,7 @@ class DisplayContentPluginMyprofileControllerTest < ActionController::TestCase
122 122 expected_json['children'] = children
123 123 expected_json['state'] = 'closed'
124 124  
125   - assert_equal [expected_json], json_response
  125 + assert_equivalent [expected_json], json_response
126 126 end
127 127  
128 128 should 'index action returns an json with all the children nodes and root nodes if some parent is in the parents list and there is others root articles' do
... ... @@ -152,7 +152,7 @@ class DisplayContentPluginMyprofileControllerTest < ActionController::TestCase
152 152 value['attr'] = { 'node_id' => a3.id, 'parent_id' => a3.parent_id}
153 153 expected_json.push(value)
154 154  
155   - assert_equal expected_json, json_response
  155 + assert_equivalent expected_json, json_response
156 156 end
157 157  
158 158 should 'index action returns an json without children nodes if the parent is not in the parents list' do
... ... @@ -174,7 +174,7 @@ class DisplayContentPluginMyprofileControllerTest < ActionController::TestCase
174 174 value['attr'] = { 'node_id' => a3.id, 'parent_id' => a3.parent_id}
175 175 expected_json.push(value)
176 176  
177   - assert_equal expected_json, json_response
  177 + assert_equivalent expected_json, json_response
178 178 end
179 179  
180 180 end
... ...
plugins/ldap/install.rb 0 → 100644
... ... @@ -0,0 +1 @@
  1 +raise "Not ready yet"
... ...
plugins/mezuro/install.rb 0 → 100644
... ... @@ -0,0 +1 @@
  1 +raise "Not ready yet"
... ...
plugins/shopping_cart/controllers/shopping_cart_plugin_myprofile_controller.rb
... ... @@ -63,6 +63,7 @@ class ShoppingCartPluginMyprofileController < MyProfileController
63 63  
64 64 def treat_delivery_options(params)
65 65 result = {}
  66 + return result if params.nil? || params[:delivery_options].nil?
66 67 params[:options].size.times do |counter|
67 68 if params[:options][counter].present? && params[:prices][counter].present?
68 69 result[params[:options][counter]] = params[:prices][counter]
... ...
plugins/shopping_cart/test/unit/shopping_cart_plugin/cart_helper_test.rb
... ... @@ -38,7 +38,7 @@ class ShoppingCartPlugin::CartHelperTest < ActiveSupport::TestCase
38 38 value = 13.7
39 39 environment = Environment.default
40 40  
41   - assert_equal "#{environment.currency_unit} 13#{environment.currency_separator}70", float_to_currency_cart(value,environment)
  41 + assert_equal "#{environment.currency_unit}13#{environment.currency_separator}70", float_to_currency_cart(value,environment)
42 42 end
43 43  
44 44 end
... ...
plugins/shopping_cart/test/unit/shopping_cart_plugin_test.rb
... ... @@ -19,10 +19,9 @@ class ShoppingCartPluginTest < ActiveSupport::TestCase
19 19 end
20 20  
21 21 should 'not add button if product unavailable' do
22   - product = fast_create(Product, :available => false)
23   - enterprise = mock()
  22 + enterprise = fast_create(:enterprise)
  23 + product = fast_create(Product, :available => false, :enterprise_id => enterprise.id)
24 24 enterprise.stubs(:shopping_cart).returns(true)
25   - product.stubs(:enterprise).returns(enterprise)
26 25  
27 26 assert_nil shopping_cart.add_to_cart_button(product)
28 27 end
... ...
plugins/stoa/install.rb 0 → 100644
... ... @@ -0,0 +1,8 @@
  1 +#FIXME one functional test is failing
  2 +raise "Not ready yet..."
  3 +
  4 +require 'fileutils'
  5 +
  6 +config_path = File.join('plugins', 'stoa', 'config.yml')
  7 +config_template = File.join('plugins', 'stoa', 'config.yml.dist')
  8 +FileUtils.cp(config_template, config_path) if !File.exist?(config_path)
... ...
plugins/stoa/lib/ext/person.rb
... ... @@ -16,7 +16,7 @@ class Person
16 16 end
17 17  
18 18 def invitation_task
19   - Task.pending.find(:first, :conditions => {:code => invitation_code}) ||
20   - Task.finished.find(:first, :conditions => {:code => invitation_code, :target_id => id})
  19 + Task.pending.find(:first, :conditions => {:code => invitation_code.to_s}) ||
  20 + Task.finished.find(:first, :conditions => {:code => invitation_code.to_s, :target_id => id})
21 21 end
22 22 end
... ...
plugins/stoa/test/functional/profile_editor_controller_test.rb
... ... @@ -36,7 +36,7 @@ class StoaPluginProfileEditorControllerTest < ActionController::TestCase
36 36 end
37 37  
38 38 should 'not display field if profile is an organization' do
39   - organization = fast_create(Organization)
  39 + organization = fast_create(Community)
40 40 organization.add_admin @person
41 41 get :edit, :profile => organization.identifier
42 42 assert_no_tag_in_string @response.body, :tag => 'label', :content => /USP number/, :attributes => { :for => 'usp_id_field' }
... ...
script/noosfero-plugins
... ... @@ -86,12 +86,18 @@ _enable(){
86 86 echo "E: $plugin plugin does not exist!"
87 87 return
88 88 fi
89   - dependencies_ok=true
90   - dependencies_file="$source/dependencies.rb"
91   - if ! run $dependencies_file; then
92   - dependencies_ok=false
  89 + installation_ok=true
  90 + installation_file="$source/install.rb"
  91 + if ! run $installation_file; then
  92 + installation_ok=false
  93 + else
  94 + dependencies_ok=true
  95 + dependencies_file="$source/dependencies.rb"
  96 + if ! run $dependencies_file; then
  97 + dependencies_ok=false
  98 + fi
93 99 fi
94   - if [ "$dependencies_ok" = true ]; then
  100 + if [ "$installation_ok" = true ] && [ "$dependencies_ok" = true ]; then
95 101 ln -s "$source" "$target"
96 102 plugins_public_dir="$NOOSFERO_DIR/public/plugins"
97 103 plugins_features_dir="$NOOSFERO_DIR/features/plugins"
... ... @@ -100,7 +106,9 @@ _enable(){
100 106 _say "$plugin enabled"
101 107 run "$source/after_enable.rb"
102 108 needs_migrate=true
103   - else
  109 + elif [ "$installation_ok" = false ]; then
  110 + echo "W: failed to install $plugin; not enabling"
  111 + elif [ "$dependencies_ok" = false ]; then
104 112 echo "W: failed to load dependencies for $plugin; not enabling"
105 113 fi
106 114 fi
... ...