/
test_helper.rb
73 lines (59 loc) · 1.88 KB
/
test_helper.rb
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
unless defined?(TEST_HELPER_LOADED)
TEST_HELPER_LOADED = true
$:.unshift(File.dirname(__FILE__) + '/../lib')
RAILS_ROOT = File.dirname(__FILE__)
require 'rubygems'
require 'test/unit'
if rails_version = ENV['RAILS_VERSION']
gem "rails", rails_version
end
require "rails/version"
puts "==== Testing with Rails #{Rails::VERSION::STRING} ===="
require 'active_record'
require 'active_record/fixtures'
require "action_controller"
if Rails::VERSION::MAJOR == 2
require "action_controller/test_case"
end
require "action_controller/test_process"
begin
gem "mocha"
require 'mocha'
rescue LoadError, Gem::LoadError
raise "need mocha to test"
end
$LOAD_PATH << File.dirname(__FILE__) + "/../vendor/dust-0.1.6/lib"
require 'dust'
Test::Unit::TestCase.disallow_setup!
$LOAD_PATH << File.dirname(__FILE__) + "/../lib"
require "unit_record"
if UnitRecord.rails_version >= "2.3"
require "active_support/test_case"
ActiveSupport::TestCase.class_eval { include ActiveRecord::TestFixtures }
end
UnitRecord.base_rails_test_class.use_transactional_fixtures = true
# Needed because of this line in setup_with_fixtures and teardown_with_fixtures:
# return unless defined?(ActiveRecord::Base) && !ActiveRecord::Base.configurations.blank?
ActiveRecord::Base.configurations = {"irrelevant" => {:adapter => "stub"}}
class Preference < ActiveRecord::Base
end
class Person < ActiveRecord::Base
has_many :pets
has_one :profile
end
class Profile < ActiveRecord::Base
belongs_to :person
end
class Pet < ActiveRecord::Base
belongs_to :person
end
class Foo < ActiveRecord::Base
set_table_name :foofoo
end
class DoesNotExist < ActiveRecord::Base
set_table_name "table_does_not_exist"
end
ActiveRecord::Base.disconnect! :strategy => :raise, :stub_associations => true
# make sure calling disconnect multiple times does not cause problems
ActiveRecord::Base.disconnect! :strategy => :raise, :stub_associations => true
end