Sha256: 37838cf378c26173106abf6d61dadcb3ae1e88866d12ce8a410df6be2ec4bd2c

Contents?: true

Size: 1.5 KB

Versions: 20

Compression:

Stored size: 1.5 KB

Contents

ENV["RAILS_ROOT"] ||= 'spec/internal'

GEM_ROOT= File.expand_path(File.join(File.dirname(__FILE__),".."))

desc "Run specs"
task :spec => [:generate, :fixtures] do |t|
  focused_spec = ENV['SPEC'] ? " SPEC=#{File.join(GEM_ROOT, ENV['SPEC'])}" : ''
  within_test_app do
    system "rake myspec#{focused_spec}"
    abort "Error running hydra-core" unless $?.success?
  end
end

task :fixtures do
  within_test_app do
    system "rake hydra:fixtures:refresh RAILS_ENV=test"
  end
end


desc "Create the test rails app"
task :generate do
  unless File.exists?('spec/internal/Rakefile')
    puts "Generating rails app"
    `rails new spec/internal`
    puts "Updating gemfile"
    `echo " gem 'hydra-access-controls', :path=>'../../../hydra-access-controls'" >> spec/internal/Gemfile`
    `echo " gem 'hydra-core', :path=>'../../', :require=>'hydra-core'" >> spec/internal/Gemfile`
    `echo " gem 'factory_girl_rails'" >> spec/internal/Gemfile`
    puts "Copying generator"
    `cp -r spec/support/lib/generators spec/internal/lib`
    within_test_app do
      puts "Bundle install"
      `bundle install`
      puts "running test_app_generator"
      system "rails generate test_app"

      puts "running migrations"
      puts `rake db:migrate db:test:prepare`
    end
  end
  puts "Running specs"
end

desc "Clean out the test rails app"
task :clean do
  puts "Removing sample rails app"
  `rm -rf spec/internal`
end

def within_test_app
  FileUtils.cd('spec/internal')
  Bundler.with_clean_env do
    yield
  end
  FileUtils.cd('../..')
end

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
hydra-core-6.5.2 tasks/rspec.rake
hydra-core-6.5.1 tasks/rspec.rake
hydra-core-6.4.2 tasks/rspec.rake
hydra-core-6.5.0 tasks/rspec.rake
hydra-core-6.5.0.rc2 tasks/rspec.rake
hydra-core-6.4.1 tasks/rspec.rake
hydra-core-6.4.0 tasks/rspec.rake
hydra-core-6.4.0.rc5 tasks/rspec.rake
hydra-core-6.4.0.rc4 tasks/rspec.rake
hydra-core-6.4.0.rc3 tasks/rspec.rake
hydra-core-6.4.0.rc2 tasks/rspec.rake
hydra-core-6.4.0.rc1 tasks/rspec.rake
hydra-core-6.4.0.pre2 tasks/rspec.rake
hydra-core-6.4.0.pre1 tasks/rspec.rake
hydra-core-6.3.4 tasks/rspec.rake
hydra-core-6.3.3 tasks/rspec.rake
hydra-core-6.3.2 tasks/rspec.rake
hydra-core-6.3.1 tasks/rspec.rake
hydra-core-6.3.0 tasks/rspec.rake
hydra-core-6.3.0.rc1 tasks/rspec.rake