Chris@0: $:.unshift(File.dirname(__FILE__) + '/../../../rails/activesupport/lib') Chris@0: $:.unshift(File.dirname(__FILE__) + '/../../../rails/activerecord/lib') Chris@0: $:.unshift(File.dirname(__FILE__) + '/../lib') Chris@0: require 'test/unit' Chris@0: begin Chris@0: require 'active_support' Chris@0: require 'active_record' Chris@0: require 'active_record/fixtures' Chris@0: rescue LoadError Chris@0: require 'rubygems' Chris@0: retry Chris@0: end Chris@0: require 'acts_as_versioned' Chris@0: Chris@0: config = YAML::load(IO.read(File.dirname(__FILE__) + '/database.yml')) Chris@0: ActiveRecord::Base.logger = Logger.new(File.dirname(__FILE__) + "/debug.log") Chris@0: ActiveRecord::Base.configurations = {'test' => config[ENV['DB'] || 'sqlite3']} Chris@0: ActiveRecord::Base.establish_connection(ActiveRecord::Base.configurations['test']) Chris@0: Chris@0: load(File.dirname(__FILE__) + "/schema.rb") Chris@0: Chris@0: # set up custom sequence on widget_versions for DBs that support sequences Chris@0: if ENV['DB'] == 'postgresql' Chris@0: ActiveRecord::Base.connection.execute "DROP SEQUENCE widgets_seq;" rescue nil Chris@0: ActiveRecord::Base.connection.remove_column :widget_versions, :id Chris@0: ActiveRecord::Base.connection.execute "CREATE SEQUENCE widgets_seq START 101;" Chris@0: ActiveRecord::Base.connection.execute "ALTER TABLE widget_versions ADD COLUMN id INTEGER PRIMARY KEY DEFAULT nextval('widgets_seq');" Chris@0: end Chris@0: Chris@0: Test::Unit::TestCase.fixture_path = File.dirname(__FILE__) + "/fixtures/" Chris@0: $:.unshift(Test::Unit::TestCase.fixture_path) Chris@0: Chris@0: class Test::Unit::TestCase #:nodoc: Chris@0: # Turn off transactional fixtures if you're working with MyISAM tables in MySQL Chris@0: self.use_transactional_fixtures = true Chris@0: Chris@0: # Instantiated fixtures are slow, but give you @david where you otherwise would need people(:david) Chris@0: self.use_instantiated_fixtures = false Chris@0: Chris@0: # Add more helper methods to be used by all tests here... Chris@0: end