1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
require 'fileutils'
require 'rubygems'
require 'seed-fu'
require 'logger'
SeedFu.quiet = true
ActiveRecord::Base.logger = Logger.new(File.dirname(__FILE__) + "/../debug.log")
ENV["DB"] ||= 'sqlite3'
puts "Using #{ENV["DB"]} to run the tests."
require File.dirname(__FILE__) + "/connections/#{ENV["DB"]}.rb"
ActiveRecord::Schema.define :version => 0 do
create_table :seeded_models, :force => true do |t|
t.column :login, :string
t.column :first_name, :string
t.column :last_name, :string
t.column :title, :string
end
create_table :seeded_model_no_primary_keys, :id => false, :force => true do |t|
t.column :id, :string
end
create_table :seeded_model_no_sequences, :id => false, :force => true do |t|
t.column :id, :string
end
execute("ALTER TABLE seeded_model_no_sequences ADD PRIMARY KEY (id)") if ENV['DB'] == 'postgresql'
end
class SeededModel < ActiveRecord::Base
validates_presence_of :title
attr_protected :first_name if self.respond_to?(:protected_attributes)
attr_accessor :fail_to_save
before_save { false if fail_to_save }
end
class SeededModelNoPrimaryKey < ActiveRecord::Base
end
class SeededModelNoSequence < ActiveRecord::Base
end
RSpec.configure do |config|
config.before do
SeededModel.delete_all
end
end
|