Merge pull request #62 from opf/feature/plugin_test_from_core
enable testing plugins from OpenProject corepull/64/head
commit
7bbe80adf7
@ -0,0 +1,36 @@ |
||||
# This task will run all plugin specs separated by plugin. |
||||
# A plugin must register for tests via config variable 'plugins_to_test_paths' |
||||
# |
||||
# e.g. |
||||
# class Engine < ::Rails::Engine |
||||
# initializer 'register_path_to_rspec' do |app| |
||||
# app.config.plugins_to_test_paths << self.root |
||||
# end |
||||
# end |
||||
# |
||||
|
||||
desc "Run plugin tests" |
||||
namespace :openproject do |
||||
namespace :plugins do |
||||
namespace :test do |
||||
desc "Run specs for all test registered plugins" |
||||
task :rspec => :environment do |
||||
get_plugins_to_test.each do |plugin_path| |
||||
puts "run specs for #{plugin_path.split('/').last} plugin" |
||||
ENV['SPEC'] = "#{plugin_path}/spec/" |
||||
Rake::Task["spec"].execute |
||||
end |
||||
end |
||||
end |
||||
end |
||||
end |
||||
|
||||
def get_plugins_to_test |
||||
plugin_paths = [] |
||||
Rails.application.config.plugins_to_test_paths.each do |dir| |
||||
if File.directory?( dir ) |
||||
plugin_paths << File.join(dir).to_s |
||||
end |
||||
end |
||||
plugin_paths |
||||
end |
Loading…
Reference in new issue