diff --git a/lib/noosfero/plugin.rb b/lib/noosfero/plugin.rb
index 4927c87..9b9d226 100644
--- a/lib/noosfero/plugin.rb
+++ b/lib/noosfero/plugin.rb
@@ -16,14 +16,7 @@ class Noosfero::Plugin
end
def init_system
- enabled_plugins = Dir.glob(File.join(Rails.root, 'config', 'plugins', '*'))
- if Rails.env.test? && !enabled_plugins.include?(File.join(Rails.root, 'config', 'plugins', 'foo'))
- enabled_plugins << File.join(Rails.root, 'plugins', 'foo')
- end
-
- enabled_plugins.select do |entry|
- File.directory?(entry)
- end.each do |dir|
+ available_plugins.each do |dir|
load_plugin dir
end
end
@@ -76,12 +69,19 @@ class Noosfero::Plugin
klass(plugin_name)
end
- def all
- @all ||= []
+ def available_plugins
+ unless @available_plugins
+ path = File.join(Rails.root, 'config', 'plugins', '*')
+ @available_plugins = Dir.glob(path).select{ |i| File.directory?(i) }
+ if Rails.env.test? && !@available_plugins.include?(File.join(Rails.root, 'config', 'plugins', 'foo'))
+ @available_plugins << File.join(Rails.root, 'plugins', 'foo')
+ end
+ end
+ @available_plugins
end
- def inherited(subclass)
- all << subclass.to_s unless all.include?(subclass.to_s)
+ def all
+ @all ||= available_plugins.map{ |dir| (File.basename(dir) + "_plugin").camelize }
end
def public_name
diff --git a/test/functional/account_controller_test.rb b/test/functional/account_controller_test.rb
index 65a7864..7356ba9 100644
--- a/test/functional/account_controller_test.rb
+++ b/test/functional/account_controller_test.rb
@@ -689,6 +689,7 @@ class AccountControllerTest < ActionController::TestCase
{:test => 5}
end
end
+ Noosfero::Plugin.stubs(:all).returns([Plugin1.name, Plugin2.name])
e = User.find_by_login('ze').environment
e.enable_plugin(Plugin1.name)
@@ -779,6 +780,7 @@ class AccountControllerTest < ActionController::TestCase
lambda {"Plugin2 text"}
end
end
+ Noosfero::Plugin.stubs(:all).returns([Plugin1.name, Plugin2.name])
Environment.default.enable_plugin(Plugin1.name)
Environment.default.enable_plugin(Plugin2.name)
@@ -795,6 +797,7 @@ class AccountControllerTest < ActionController::TestCase
User.new(:login => 'testuser')
end
end
+ Noosfero::Plugin.stubs(:all).returns([Plugin1.name])
Environment.default.enable_plugin(Plugin1.name)
post :login, :user => {:login => "testuser"}
@@ -809,6 +812,7 @@ class AccountControllerTest < ActionController::TestCase
nil
end
end
+ Noosfero::Plugin.stubs(:all).returns([Plugin1.name])
Environment.default.enable_plugin(Plugin1.name)
post :login, :user => {:login => 'johndoe', :password => 'test'}
assert session[:user]
@@ -822,6 +826,7 @@ class AccountControllerTest < ActionController::TestCase
false
end
end
+ Noosfero::Plugin.stubs(:all).returns([TestRegistrationPlugin.name])
Noosfero::Plugin::Manager.any_instance.stubs(:enabled_plugins).returns([TestRegistrationPlugin.new])
post :signup, :user => { :login => 'testuser', :password => '123456', :password_confirmation => '123456', :email => 'testuser@example.com' }
@@ -840,6 +845,7 @@ class AccountControllerTest < ActionController::TestCase
true
end
end
+ Noosfero::Plugin.stubs(:all).returns([Plugin1.name, Plugin2.name])
Noosfero::Plugin::Manager.any_instance.stubs(:enabled_plugins).returns([Plugin1.new, Plugin2.new])
get :login
@@ -853,6 +859,7 @@ class AccountControllerTest < ActionController::TestCase
false
end
end
+ Noosfero::Plugin.stubs(:all).returns([TestRegistrationPlugin.name])
Noosfero::Plugin::Manager.any_instance.stubs(:enabled_plugins).returns([TestRegistrationPlugin.new])
#Redirect on get action
@@ -876,6 +883,7 @@ class AccountControllerTest < ActionController::TestCase
true
end
end
+ Noosfero::Plugin.stubs(:all).returns([Plugin1.new, Plugin2.new])
Noosfero::Plugin::Manager.any_instance.stubs(:enabled_plugins).returns([Plugin1.new, Plugin2.new])
get :login
@@ -894,6 +902,7 @@ class AccountControllerTest < ActionController::TestCase
lambda {"Plugin2 text"}
end
end
+ Noosfero::Plugin.stubs(:all).returns([Plugin1.name, Plugin2.name])
Environment.default.enable_plugin(Plugin1.name)
Environment.default.enable_plugin(Plugin2.name)
diff --git a/test/functional/application_controller_test.rb b/test/functional/application_controller_test.rb
index fd1c4da..f7f4108 100644
--- a/test/functional/application_controller_test.rb
+++ b/test/functional/application_controller_test.rb
@@ -374,6 +374,8 @@ class ApplicationControllerTest < ActionController::TestCase
end
plugin2_path = '/plugin2/style.css'
+ Noosfero::Plugin.stubs(:all).returns([Plugin1.name, Plugin2.name])
+
environment = Environment.default
environment.enable_plugin(Plugin1.name)
environment.enable_plugin(Plugin2.name)
@@ -405,6 +407,8 @@ class ApplicationControllerTest < ActionController::TestCase
plugin2_path2 = '/plugin2/'+js2
plugin2_path3 = '/plugin2/'+js3
+ Noosfero::Plugin.stubs(:all).returns([Plugin1.name, Plugin2.name])
+
environment = Environment.default
environment.enable_plugin(Plugin1.name)
environment.enable_plugin(Plugin2.name)
@@ -431,6 +435,8 @@ class ApplicationControllerTest < ActionController::TestCase
end
end
+ Noosfero::Plugin.stubs(:all).returns([TestBodyBeginning1Plugin.name, TestBodyBeginning2Plugin.name])
+
Noosfero::Plugin::Manager.any_instance.stubs(:enabled_plugins).returns([TestBodyBeginning1Plugin.new, TestBodyBeginning2Plugin.new])
get :index
@@ -455,6 +461,8 @@ class ApplicationControllerTest < ActionController::TestCase
end
end
+ Noosfero::Plugin.stubs(:all).returns([TestHeadEnding1Plugin.name, TestHeadEnding2Plugin.name])
+
Noosfero::Plugin::Manager.any_instance.stubs(:enabled_plugins).returns([TestHeadEnding1Plugin.new, TestHeadEnding2Plugin.new])
get :index
@@ -519,6 +527,7 @@ class ApplicationControllerTest < ActionController::TestCase
:block => lambda {} }
end
end
+ Noosfero::Plugin.stubs(:all).returns([FilterPlugin.name])
Noosfero::Plugin::Manager.any_instance.stubs(:enabled_plugins).returns([FilterPlugin.new])
@@ -537,6 +546,7 @@ class ApplicationControllerTest < ActionController::TestCase
:block => lambda {'plugin block called'} }
end
end
+ Noosfero::Plugin.stubs(:all).returns([OtherFilterPlugin.name])
environment1 = fast_create(Environment, :name => 'test environment')
environment1.enable_plugin(OtherFilterPlugin.name)
diff --git a/test/functional/catalog_controller_test.rb b/test/functional/catalog_controller_test.rb
index ac9aa8b..5cf2efb 100644
--- a/test/functional/catalog_controller_test.rb
+++ b/test/functional/catalog_controller_test.rb
@@ -91,6 +91,7 @@ class CatalogControllerTest < ActionController::TestCase
lambda {"This is Plugin2 speaking!"}
end
end
+ Noosfero::Plugin.stubs(:all).returns([Plugin1.name, Plugin2.name])
product = fast_create(Product, :profile_id => @enterprise.id)
environment = Environment.default
diff --git a/test/functional/content_viewer_controller_test.rb b/test/functional/content_viewer_controller_test.rb
index 408f550..704cef3 100644
--- a/test/functional/content_viewer_controller_test.rb
+++ b/test/functional/content_viewer_controller_test.rb
@@ -1199,6 +1199,7 @@ class ContentViewerControllerTest < ActionController::TestCase
class Plugin2 < Noosfero::Plugin
def content_remove_edit(content); false; end
end
+ Noosfero::Plugin.stubs(:all).returns([Plugin1.name, Plugin2.name])
environment.enable_plugin(Plugin1.name)
environment.enable_plugin(Plugin2.name)
@@ -1215,6 +1216,7 @@ class ContentViewerControllerTest < ActionController::TestCase
class Plugin2 < Noosfero::Plugin
def content_expire_edit(content); nil; end
end
+ Noosfero::Plugin.stubs(:all).returns([Plugin1.name, Plugin2.name])
environment.enable_plugin(Plugin1.name)
environment.enable_plugin(Plugin2.name)
@@ -1260,6 +1262,7 @@ class ContentViewerControllerTest < ActionController::TestCase
}
end
end
+ Noosfero::Plugin.stubs(:all).returns([Plugin1.name, Plugin2.name])
Environment.default.enable_plugin(Plugin1.name)
Environment.default.enable_plugin(Plugin2.name)
@@ -1284,6 +1287,7 @@ class ContentViewerControllerTest < ActionController::TestCase
scope.where(:referrer => 'kernel.org')
end
end
+ Noosfero::Plugin.stubs(:all).returns([Plugin1.name, Plugin2.name])
Environment.default.enable_plugin(Plugin1)
Environment.default.enable_plugin(Plugin2)
@@ -1341,6 +1345,7 @@ class ContentViewerControllerTest < ActionController::TestCase
}
end
end
+ Noosfero::Plugin.stubs(:all).returns([Plugin1.name, Plugin2.name])
Environment.default.enable_plugin(Plugin1.name)
Environment.default.enable_plugin(Plugin2.name)
diff --git a/test/functional/enterprise_registration_controller_test.rb b/test/functional/enterprise_registration_controller_test.rb
index 958b05a..71596a3 100644
--- a/test/functional/enterprise_registration_controller_test.rb
+++ b/test/functional/enterprise_registration_controller_test.rb
@@ -193,6 +193,7 @@ class EnterpriseRegistrationControllerTest < ActionController::TestCase
{'plugin2' => 'Plugin 2'}
end
end
+ Noosfero::Plugin.stubs(:all).returns([Plugin1.name, Plugin2.name])
environment = Environment.default
environment.enable_plugin(Plugin1.name)
diff --git a/test/functional/friends_controller_test.rb b/test/functional/friends_controller_test.rb
index 7284321..d9128b9 100644
--- a/test/functional/friends_controller_test.rb
+++ b/test/functional/friends_controller_test.rb
@@ -68,6 +68,7 @@ class FriendsControllerTest < ActionController::TestCase
false
end
end
+ Noosfero::Plugin.stubs(:all).returns([Plugin1.name, Plugin2.name])
e = profile.environment
e.enable_plugin(Plugin1.name)
diff --git a/test/functional/home_controller_test.rb b/test/functional/home_controller_test.rb
index 99233ef..453d025 100644
--- a/test/functional/home_controller_test.rb
+++ b/test/functional/home_controller_test.rb
@@ -107,6 +107,7 @@ class HomeControllerTest < ActionController::TestCase
lambda {"Plugin2 link"}
end
end
+ Noosfero::Plugin.stubs(:all).returns([Plugin1.name, Plugin2.name])
Environment.default.enable_plugin(Plugin1)
Environment.default.enable_plugin(Plugin2)
@@ -129,6 +130,7 @@ class HomeControllerTest < ActionController::TestCase
true
end
end
+ Noosfero::Plugin.stubs(:all).returns([Plugin1.name, Plugin2.name])
Noosfero::Plugin::Manager.any_instance.stubs(:enabled_plugins).returns([Plugin1.new, Plugin2.new])
get :index
diff --git a/test/functional/memberships_controller_test.rb b/test/functional/memberships_controller_test.rb
index bb24c14..39d65e8 100644
--- a/test/functional/memberships_controller_test.rb
+++ b/test/functional/memberships_controller_test.rb
@@ -234,6 +234,7 @@ class MembershipsControllerTest < ActionController::TestCase
{'plugin2' => 'Plugin 2'}
end
end
+ Noosfero::Plugin.stubs(:all).returns([Plugin1.name, Plugin2.name])
environment = Environment.default
environment.enable_plugin(Plugin1.name)
diff --git a/test/functional/plugins_controller_test.rb b/test/functional/plugins_controller_test.rb
index 46b0889..9478f4e 100644
--- a/test/functional/plugins_controller_test.rb
+++ b/test/functional/plugins_controller_test.rb
@@ -47,7 +47,7 @@ class PluginsControllerTest < ActionController::TestCase
end
end
- Noosfero::Plugin.stubs(:all).returns([Plugin1.to_s,Plugin2.to_s])
+ Noosfero::Plugin.stubs(:all).returns([Plugin1.to_s, Plugin2.to_s])
get :index
diff --git a/test/functional/profile_controller_test.rb b/test/functional/profile_controller_test.rb
index eac86e3..e0f9d58 100644
--- a/test/functional/profile_controller_test.rb
+++ b/test/functional/profile_controller_test.rb
@@ -1255,6 +1255,7 @@ class ProfileControllerTest < ActionController::TestCase
{:title => 'Plugin2 tab', :id => 'plugin2_tab', :content => lambda { 'Content from plugin2.' }}
end
end
+ Noosfero::Plugin.stubs(:all).returns([Plugin1.to_s, Plugin2.to_s])
e = profile.environment
e.enable_plugin(Plugin1.name)
diff --git a/test/functional/profile_editor_controller_test.rb b/test/functional/profile_editor_controller_test.rb
index 274df70..e3fe9bf 100644
--- a/test/functional/profile_editor_controller_test.rb
+++ b/test/functional/profile_editor_controller_test.rb
@@ -868,6 +868,7 @@ class ProfileEditorControllerTest < ActionController::TestCase
{:title => "Plugin2 button", :icon => 'plugin2_icon', :url => 'plugin2_url'}
end
end
+ Noosfero::Plugin.stubs(:all).returns([TestControlPanelButtons1.to_s, TestControlPanelButtons2.to_s])
Noosfero::Plugin::Manager.any_instance.stubs(:enabled_plugins).returns([TestControlPanelButtons1.new, TestControlPanelButtons2.new])
@@ -883,6 +884,7 @@ class ProfileEditorControllerTest < ActionController::TestCase
""
end
end
+ Noosfero::Plugin.stubs(:all).returns([TestProfileEditPlugin.to_s])
Noosfero::Plugin::Manager.any_instance.stubs(:enabled_plugins).returns([TestProfileEditPlugin.new])
@@ -911,6 +913,7 @@ class ProfileEditorControllerTest < ActionController::TestCase
lambda {"Plugin2 text"}
end
end
+ Noosfero::Plugin.stubs(:all).returns([Plugin1.to_s, Plugin2.to_s])
Environment.default.enable_plugin(Plugin1)
Environment.default.enable_plugin(Plugin2)
@@ -932,6 +935,7 @@ class ProfileEditorControllerTest < ActionController::TestCase
lambda {"Plugin2 text"}
end
end
+ Noosfero::Plugin.stubs(:all).returns([Plugin1.to_s, Plugin2.to_s])
Environment.default.enable_plugin(Plugin1)
Environment.default.enable_plugin(Plugin2)
diff --git a/test/functional/search_controller_test.rb b/test/functional/search_controller_test.rb
index da563a6..c91bd04 100644
--- a/test/functional/search_controller_test.rb
+++ b/test/functional/search_controller_test.rb
@@ -163,6 +163,7 @@ class SearchControllerTest < ActionController::TestCase
lambda {"This is Plugin2 speaking!"}
end
end
+ Noosfero::Plugin.stubs(:all).returns([Plugin1.to_s, Plugin2.to_s])
enterprise = fast_create(Enterprise)
prod_cat = fast_create(ProductCategory)
@@ -189,6 +190,7 @@ class SearchControllerTest < ActionController::TestCase
return { :name => _('Property2'), :content => lambda { link_to(product.name, '/plugin2') } }
end
end
+ Noosfero::Plugin.stubs(:all).returns([Plugin1.to_s, Plugin2.to_s])
enterprise = fast_create(Enterprise)
prod_cat = fast_create(ProductCategory)
product = fast_create(Product, {:profile_id => enterprise.id, :name => "produto1", :product_category_id => prod_cat.id}, :search => true)
diff --git a/test/unit/application_helper_test.rb b/test/unit/application_helper_test.rb
index 7106acd..09c06f2 100644
--- a/test/unit/application_helper_test.rb
+++ b/test/unit/application_helper_test.rb
@@ -676,6 +676,7 @@ class ApplicationHelperTest < ActiveSupport::TestCase
should 'parse macros' do
class Plugin1 < Noosfero::Plugin
end
+ Noosfero::Plugin.stubs(:all).returns(['ApplicationHelperTest::Plugin1'])
class Plugin1::Macro1 < Noosfero::Plugin::Macro
def parse(params, inner_html, source)
diff --git a/test/unit/comment_test.rb b/test/unit/comment_test.rb
index 28a3d94..fe76131 100644
--- a/test/unit/comment_test.rb
+++ b/test/unit/comment_test.rb
@@ -468,8 +468,8 @@ class CommentTest < ActiveSupport::TestCase
end
end
-
should 'delegate spam detection to plugins' do
+ Noosfero::Plugin.stubs(:all).returns(['CommentTest::EverythingIsSpam'])
Environment.default.enable_plugin(EverythingIsSpam)
c1 = create_comment
@@ -495,6 +495,7 @@ class CommentTest < ActiveSupport::TestCase
end
should 'notify plugins of comments being marked as spam' do
+ Noosfero::Plugin.stubs(:all).returns(['CommentTest::SpamNotification'])
Environment.default.enable_plugin(SpamNotification)
c = create_comment
@@ -506,6 +507,7 @@ class CommentTest < ActiveSupport::TestCase
end
should 'notify plugins of comments being marked as ham' do
+ Noosfero::Plugin.stubs(:all).returns(['CommentTest::SpamNotification'])
Environment.default.enable_plugin(SpamNotification)
c = create_comment
diff --git a/test/unit/forgot_password_helper_test.rb b/test/unit/forgot_password_helper_test.rb
index 60d3120..6f980cb 100644
--- a/test/unit/forgot_password_helper_test.rb
+++ b/test/unit/forgot_password_helper_test.rb
@@ -22,6 +22,7 @@ class ForgotPasswordHelperTest < ActionView::TestCase
{:field => 'f3', :name => 'F3', :model => 'person'}]
end
end
+ Noosfero::Plugin.stubs(:all).returns(['ForgotPasswordHelperTest::Plugin1', 'ForgotPasswordHelperTest::Plugin2'])
environment.enable_plugin(Plugin1)
environment.enable_plugin(Plugin2)
@@ -43,6 +44,7 @@ class ForgotPasswordHelperTest < ActionView::TestCase
{:field => 'f3', :name => 'F3', :model => 'person'}]
end
end
+ Noosfero::Plugin.stubs(:all).returns(['ForgotPasswordHelperTest::Plugin1', 'ForgotPasswordHelperTest::Plugin2'])
environment.enable_plugin(Plugin1)
environment.enable_plugin(Plugin2)
@@ -64,6 +66,7 @@ class ForgotPasswordHelperTest < ActionView::TestCase
{:field => 'f3', :name => 'F3', :model => 'user'}]
end
end
+ Noosfero::Plugin.stubs(:all).returns(['ForgotPasswordHelperTest::Plugin1', 'ForgotPasswordHelperTest::Plugin2'])
environment.enable_plugin(Plugin1)
environment.enable_plugin(Plugin2)
@@ -85,6 +88,7 @@ class ForgotPasswordHelperTest < ActionView::TestCase
{:field => 'f3', :name => 'F3', :model => 'user'}]
end
end
+ Noosfero::Plugin.stubs(:all).returns(['ForgotPasswordHelperTest::Plugin1', 'ForgotPasswordHelperTest::Plugin2'])
environment.enable_plugin(Plugin1)
environment.enable_plugin(Plugin2)
diff --git a/test/unit/macros_helper_test.rb b/test/unit/macros_helper_test.rb
index 7a961c5..112ebcd 100644
--- a/test/unit/macros_helper_test.rb
+++ b/test/unit/macros_helper_test.rb
@@ -28,6 +28,7 @@ class MacrosHelperTest < ActiveSupport::TestCase
end
def setup
+ Noosfero::Plugin.stubs(:all).returns(['MacrosHelperTest::Plugin1'])
@environment = Environment.default
@environment.enable_plugin(Plugin1)
@plugins = Noosfero::Plugin::Manager.new(@environment, self)
diff --git a/test/unit/person_test.rb b/test/unit/person_test.rb
index 5c7d867..d6d39cb 100644
--- a/test/unit/person_test.rb
+++ b/test/unit/person_test.rb
@@ -1255,6 +1255,7 @@ class PersonTest < ActiveSupport::TestCase
false
end
end
+ Noosfero::Plugin.stubs(:all).returns(['PersonTest::Plugin1', 'PersonTest::Plugin2'])
e = Environment.default
e.enable_plugin(Plugin1.name)
@@ -1424,6 +1425,7 @@ class PersonTest < ActiveSupport::TestCase
Profile.memberships_of(Person.find_by_identifier('person2'))
end
end
+ Noosfero::Plugin.stubs(:all).returns(['PersonTest::Plugin1', 'PersonTest::Plugin2'])
Environment.default.enable_plugin(Plugin1)
Environment.default.enable_plugin(Plugin2)
diff --git a/test/unit/plugin_manager_test.rb b/test/unit/plugin_manager_test.rb
index a9f9603..8d3374d 100644
--- a/test/unit/plugin_manager_test.rb
+++ b/test/unit/plugin_manager_test.rb
@@ -26,6 +26,7 @@ class PluginManagerTest < ActiveSupport::TestCase
class Plugin2 < Noosfero::Plugin; end;
class Plugin3 < Noosfero::Plugin; end;
class Plugin4 < Noosfero::Plugin; end;
+ Noosfero::Plugin.stubs(:all).returns(['PluginManagerTest::Plugin1', 'PluginManagerTest::Plugin2', 'PluginManagerTest::Plugin3', 'PluginManagerTest::Plugin4'])
environment.stubs(:enabled_plugins).returns([Plugin1.to_s, Plugin2.to_s, Plugin4.to_s])
Noosfero::Plugin.stubs(:all).returns([Plugin1.to_s, Plugin3.to_s, Plugin4.to_s])
results = plugins.enabled_plugins.map { |instance| instance.class.to_s }
@@ -51,6 +52,7 @@ class PluginManagerTest < ActiveSupport::TestCase
'Plugin 2 action.'
end
end
+ Noosfero::Plugin.stubs(:all).returns(['PluginManagerTest::Plugin1', 'PluginManagerTest::Plugin2'])
environment.stubs(:enabled_plugins).returns([Plugin1.to_s, Plugin2.to_s])
@@ -83,6 +85,7 @@ class PluginManagerTest < ActiveSupport::TestCase
'Plugin 3 action.'
end
end
+ Noosfero::Plugin.stubs(:all).returns(['PluginManagerTest::Plugin1', 'PluginManagerTest::Plugin2', 'PluginManagerTest::Plugin3'])
environment.stubs(:enabled_plugins).returns([Plugin1.to_s, Plugin2.to_s, Plugin3.to_s])
p1 = Plugin1.new
@@ -107,6 +110,7 @@ class PluginManagerTest < ActiveSupport::TestCase
'Plugin3'
end
end
+ Noosfero::Plugin.stubs(:all).returns(['PluginManagerTest::Plugin1', 'PluginManagerTest::Plugin2', 'PluginManagerTest::Plugin3'])
environment.enable_plugin(Plugin1.name)
environment.enable_plugin(Plugin2.name)
@@ -134,6 +138,7 @@ class PluginManagerTest < ActiveSupport::TestCase
true
end
end
+ Noosfero::Plugin.stubs(:all).returns(['PluginManagerTest::Plugin1', 'PluginManagerTest::Plugin2', 'PluginManagerTest::Plugin3'])
environment.enable_plugin(Plugin1.name)
environment.enable_plugin(Plugin2.name)
@@ -162,6 +167,7 @@ class PluginManagerTest < ActiveSupport::TestCase
true
end
end
+ Noosfero::Plugin.stubs(:all).returns(['PluginManagerTest::Plugin1', 'PluginManagerTest::Plugin2', 'PluginManagerTest::Plugin3'])
environment.enable_plugin(Plugin1.name)
environment.enable_plugin(Plugin2.name)
@@ -178,6 +184,7 @@ class PluginManagerTest < ActiveSupport::TestCase
[Macro1, Macro2]
end
end
+ Noosfero::Plugin.stubs(:all).returns(['PluginManagerTest::Plugin1'])
class Plugin1::Macro1 < Noosfero::Plugin::Macro
def convert(macro, source)
@@ -212,6 +219,7 @@ class PluginManagerTest < ActiveSupport::TestCase
[v1 * v, v2 * v]
end
end
+ Noosfero::Plugin.stubs(:all).returns(['PluginManagerTest::Plugin1', 'PluginManagerTest::Plugin2'])
environment.enable_plugin(Plugin1)
environment.enable_plugin(Plugin2)
@@ -231,6 +239,7 @@ class PluginManagerTest < ActiveSupport::TestCase
value * 5
end
end
+ Noosfero::Plugin.stubs(:all).returns(['PluginManagerTest::Plugin1', 'PluginManagerTest::Plugin2'])
environment.enable_plugin(Plugin1)
environment.enable_plugin(Plugin2)
@@ -252,6 +261,7 @@ class PluginManagerTest < ActiveSupport::TestCase
[v1 * v, v2 * v, 666]
end
end
+ Noosfero::Plugin.stubs(:all).returns(['PluginManagerTest::Plugin1', 'PluginManagerTest::Plugin2'])
environment.enable_plugin(Plugin1)
environment.enable_plugin(Plugin2)
@@ -273,6 +283,7 @@ class PluginManagerTest < ActiveSupport::TestCase
numbers.reject {|n| n<=5}
end
end
+ Noosfero::Plugin.stubs(:all).returns(['PluginManagerTest::Plugin1', 'PluginManagerTest::Plugin2'])
environment.enable_plugin(Plugin1)
environment.enable_plugin(Plugin2)
diff --git a/test/unit/plugin_test.rb b/test/unit/plugin_test.rb
index 50cc012..1db0350 100644
--- a/test/unit/plugin_test.rb
+++ b/test/unit/plugin_test.rb
@@ -9,15 +9,9 @@ class PluginTest < ActiveSupport::TestCase
include Noosfero::Plugin::HotSpot
- should 'keep the list of all loaded subclasses' do
- class Plugin1 < Noosfero::Plugin
- end
-
- class Plugin2 < Noosfero::Plugin
- end
-
- assert_includes Noosfero::Plugin.all, Plugin1.to_s
- assert_includes Noosfero::Plugin.all, Plugin2.to_s
+ should 'keep the list of all available plugins' do
+ assert File.directory?(File.join(Rails.root, 'plugins', 'foo'))
+ assert_includes Noosfero::Plugin.all, 'FooPlugin'
end
should 'returns url to plugin management if plugin has admin_controller' do
diff --git a/test/unit/profile_test.rb b/test/unit/profile_test.rb
index f06c0ff..27c4526 100644
--- a/test/unit/profile_test.rb
+++ b/test/unit/profile_test.rb
@@ -1812,6 +1812,7 @@ class ProfileTest < ActiveSupport::TestCase
Person.members_of(Community.find_by_identifier('community2'))
end
end
+ Noosfero::Plugin.stubs(:all).returns(['ProfileTest::Plugin1', 'ProfileTest::Plugin2'])
Environment.default.enable_plugin(Plugin1)
Environment.default.enable_plugin(Plugin2)
@@ -1969,6 +1970,7 @@ class ProfileTest < ActiveSupport::TestCase
end
environment = Environment.default
+ Noosfero::Plugin.stubs(:all).returns(['ProfileTest::Plugin1'])
environment.enable_plugin(Plugin1)
plugins = Noosfero::Plugin::Manager.new(environment, self)
p = fast_create(Profile)
diff --git a/test/unit/suggest_article_test.rb b/test/unit/suggest_article_test.rb
index b85a405..6dacbeb 100644
--- a/test/unit/suggest_article_test.rb
+++ b/test/unit/suggest_article_test.rb
@@ -7,6 +7,7 @@ class SuggestArticleTest < ActiveSupport::TestCase
ActionMailer::Base.perform_deliveries = true
ActionMailer::Base.deliveries = []
@profile = create_user('test_user').person
+ Noosfero::Plugin.stubs(:all).returns(['SuggestArticleTest::EverythingIsSpam', 'SuggestArticleTest::SpamNotification'])
end
attr_reader :profile
--
libgit2 0.21.2