# for more options (same options as config.cache_store).
config.redmine_search_cache_store = :memory_store
+ # Sets default plugin directory
+ config.redmine_plugin_directory = 'plugins'
+
# Configure log level here so that additional environment file
# can change it (environments/ENV.rb would take precedence over it)
config.log_level = Rails.env.production? ? :info : :debug
# preloads Rails for running tests, you may have to set it to true.
config.eager_load = false
+ # Change the plugin directory when testing to avoid clashes with real plugins.
+ config.redmine_plugin_directory = 'test/fixtures/plugins'
+
# Configure public file server for tests with Cache-Control for performance.
config.public_file_server.enabled = true
config.public_file_server.headers = {
class PluginLoader
# Absolute path to the directory where plugins are located
cattr_accessor :directory
- self.directory = Rails.root.join('plugins')
+ self.directory = Rails.root.join Rails.application.config.redmine_plugin_directory
# Absolute path to the public directory where plugins assets are copied
cattr_accessor :public_directory
def setup
clear_public
+ # Change plugin directory for testing to default in config/environments/tesr.rb.
+ # plugins/foo => test/fixtures/plugins/foo
@klass = Redmine::PluginLoader
- @klass.directory = Rails.root.join('test/fixtures/plugins')
@klass.public_directory = Rails.root.join('tmp/public/plugin_assets')
@klass.load
end
class Redmine::PluginTest < ActiveSupport::TestCase
def setup
@klass = Redmine::Plugin
- # Change plugin directory for testing to default
+ # Change plugin directory for testing to default in config/environments/test.rb.
# plugins/foo => test/fixtures/plugins/foo
- @klass.directory = Rails.root.join('test/fixtures/plugins')
# In case some real plugins are installed
@klass.clear