test/helper.rb in paperclip-2.2.2 vs test/helper.rb in paperclip-2.2.3

- old
+ new

@@ -1,7 +1,8 @@ require 'rubygems' require 'test/unit' +gem 'thoughtbot-shoulda', ">= 2.9.0" require 'shoulda' require 'mocha' require 'tempfile' gem 'sqlite3-ruby' @@ -20,15 +21,34 @@ $LOAD_PATH << File.join(ROOT, 'lib') $LOAD_PATH << File.join(ROOT, 'lib', 'paperclip') require File.join(ROOT, 'lib', 'paperclip.rb') +require 'shoulda_macros/paperclip' + ENV['RAILS_ENV'] ||= 'test' FIXTURES_DIR = File.join(File.dirname(__FILE__), "fixtures") config = YAML::load(IO.read(File.dirname(__FILE__) + '/database.yml')) ActiveRecord::Base.logger = Logger.new(File.dirname(__FILE__) + "/debug.log") -ActiveRecord::Base.establish_connection(config[ENV['RAILS_ENV'] || 'test']) +ActiveRecord::Base.establish_connection(config['test']) + +def reset_class class_name + ActiveRecord::Base.send(:include, Paperclip) + Object.send(:remove_const, class_name) rescue nil + klass = Object.const_set(class_name, Class.new(ActiveRecord::Base)) + klass.class_eval{ include Paperclip } + klass +end + +def reset_table table_name, &block + block ||= lambda{ true } + ActiveRecord::Base.connection.create_table :dummies, {:force => true}, &block +end + +def modify_table table_name, &block + ActiveRecord::Base.connection.change_table :dummies, &block +end def rebuild_model options = {} ActiveRecord::Base.connection.create_table :dummies, :force => true do |table| table.column :other, :string table.column :avatar_file_name, :string