Updating Rakefile, Gemfile, etc for Spree 1.0 testing compatibilty

This commit is contained in:
Michael Bianco
2012-03-30 19:23:58 -04:00
parent 7f729bd402
commit 62082f5a82
7 changed files with 69 additions and 127 deletions
+13 -51
View File
@@ -3,31 +3,15 @@ require 'rake/testtask'
require 'rake/packagetask'
require 'rubygems/package_task'
require 'rspec/core/rake_task'
require 'cucumber/rake/task'
require 'spree_core/testing_support/common_rake'
require 'spree/core/testing_support/common_rake'
gemfile = File.expand_path('../spec/test_app/Gemfile', __FILE__)
if File.exists?(gemfile) && (%w(spec cucumber).include?(ARGV.first.to_s) || ARGV.size == 0)
require 'bundler'
ENV['BUNDLE_GEMFILE'] = gemfile
Bundler.setup
RSpec::Core::RakeTask.new
require 'rspec'
require 'rspec/core/rake_task'
RSpec::Core::RakeTask.new
require 'cucumber/rake/task'
Cucumber::Rake::Task.new do |t|
t.cucumber_opts = %w{--format progress}
end
end
desc "Default Task"
task :default => [:spec, :cucumber ]
task :default => [:spec]
spec = eval(File.read('spree_digital.gemspec'))
Rake::GemPackageTask.new(spec) do |p|
Gem::PackageTask.new(spec) do |p|
p.gem_spec = spec
end
@@ -38,40 +22,18 @@ task :release => :package do
Rake::Task['gem:push'].invoke
end
desc "Default Task"
task :default => [ :spec ]
desc "Regenerates a rails 3 app for testing"
task :test_app do
require '../spree/lib/generators/spree/test_app_generator'
class SpreeDigitalTestAppGenerator < Spree::Generators::TestAppGenerator
def install_gems
inside "test_app" do
run 'rake spree_core:install'
run 'rake spree_digital:install'
end
ENV['LIB_NAME'] = 'spree_digital'
require File.join `bundle show spree_core`.chomp, 'lib/generators/spree/dummy/dummy_generator.rb'
Spree::DummyGenerator.class_eval do
def test_dummy_add_digital
# pulled from: http://jumph4x.net/post/20067515804/testing-spree-1-0-x-extensions-w-other-extension
puts "Installing #{ENV['LIB_NAME']} migrations [required for testing]"
directory File.join(`bundle show #{ENV['LIB_NAME']}`.chomp, 'db', 'migrate'), File.join(dummy_path, 'db')
end
def migrate_db
run_migrations
end
protected
def full_path_for_local_gems
<<-gems
gem 'spree_core', :path => \'#{File.join(File.dirname(__FILE__), "../spree/", "core")}\'
gem 'spree_digital', :path => \'#{File.dirname(__FILE__)}\'
gems
end
end
SpreeDigitalTestAppGenerator.start
end
namespace :test_app do
desc 'Rebuild test and cucumber databases'
task :rebuild_dbs do
system("cd spec/test_app && rake db:drop db:migrate RAILS_ENV=test && rake db:drop db:migrate RAILS_ENV=cucumber")
end
Rake::Task['common:test_app'].invoke
end