aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Heinemeier Hansson <david@loudthinking.com>2007-02-25 19:27:56 +0000
committerDavid Heinemeier Hansson <david@loudthinking.com>2007-02-25 19:27:56 +0000
commit23e24c5996c90e072b66a616ee0cbe066dd5c1a2 (patch)
tree5063868f1aa76dcc32487f69788a027a8ce5242a
parent87b7b5b3e74cb6ce3efc7e472c933bf846b26cc3 (diff)
downloadrails-23e24c5996c90e072b66a616ee0cbe066dd5c1a2.tar.gz
rails-23e24c5996c90e072b66a616ee0cbe066dd5c1a2.tar.bz2
rails-23e24c5996c90e072b66a616ee0cbe066dd5c1a2.zip
Setting fixtures automatically for integration tests is a bit harder -- will have to wait until the test superclass reform is implemented
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@6228 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
-rwxr-xr-xactiverecord/lib/active_record/fixtures.rb2
-rw-r--r--railties/helpers/test_helper.rb3
2 files changed, 5 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/fixtures.rb b/activerecord/lib/active_record/fixtures.rb
index 92c4647819..2fe89aac16 100755
--- a/activerecord/lib/active_record/fixtures.rb
+++ b/activerecord/lib/active_record/fixtures.rb
@@ -490,10 +490,12 @@ module Test #:nodoc:
def self.setup_fixture_accessors(table_names=nil)
(table_names || fixture_table_names).each do |table_name|
table_name = table_name.to_s.tr('.','_')
+
define_method(table_name) do |fixture, *optionals|
force_reload = optionals.shift
@fixture_cache[table_name] ||= Hash.new
@fixture_cache[table_name][fixture] = nil if force_reload
+
if @loaded_fixtures[table_name][fixture.to_s]
@fixture_cache[table_name][fixture] ||= @loaded_fixtures[table_name][fixture.to_s].find
else
diff --git a/railties/helpers/test_helper.rb b/railties/helpers/test_helper.rb
index d13753a655..6970dbac37 100644
--- a/railties/helpers/test_helper.rb
+++ b/railties/helpers/test_helper.rb
@@ -27,6 +27,9 @@ class Test::Unit::TestCase
# Setup all fixtures in test/fixtures/*.(yml|csv) for all tests in alphabetical order.
# If you need to control the loading order (due to foreign key constraints etc), you'll
# need to change this line to explicitly name the order you desire.
+ #
+ # Note: You'll currently still have to declare fixtures explicitly in integration tests
+ # -- they do not yet inherent this setting
fixtures :all
# Add more helper methods to be used by all tests here...