Updating Rakefile, Gemfile, etc for Spree 1.0 testing compatibilty
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user