aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases
diff options
context:
space:
mode:
authorJon Leighton <j@jonathanleighton.com>2012-11-09 10:35:39 +0000
committerJon Leighton <j@jonathanleighton.com>2012-11-09 10:38:58 +0000
commit0130c17476b754aea20faf6914686c5d4c7086b9 (patch)
tree110c00f74453bee05b38ce3ae435cec0f814eda8 /activerecord/test/cases
parentc33cfa6379e98a134672ae46580fcb54ce071f4f (diff)
downloadrails-0130c17476b754aea20faf6914686c5d4c7086b9.tar.gz
rails-0130c17476b754aea20faf6914686c5d4c7086b9.tar.bz2
rails-0130c17476b754aea20faf6914686c5d4c7086b9.zip
Relations built off collection associations with an unsaved owner should be null relations
For example, the following should not run any query on the database: Post.new.comments.where(body: 'omg').to_a # => [] Fixes #5215.
Diffstat (limited to 'activerecord/test/cases')
-rw-r--r--activerecord/test/cases/associations/has_many_associations_test.rb9
1 files changed, 9 insertions, 0 deletions
diff --git a/activerecord/test/cases/associations/has_many_associations_test.rb b/activerecord/test/cases/associations/has_many_associations_test.rb
index 50c23c863f..6355094a79 100644
--- a/activerecord/test/cases/associations/has_many_associations_test.rb
+++ b/activerecord/test/cases/associations/has_many_associations_test.rb
@@ -1648,4 +1648,13 @@ class HasManyAssociationsTest < ActiveRecord::TestCase
klass = Class.new(ActiveRecord::Base)
assert_deprecated { klass.has_many :foo, :counter_sql => 'lol' }
end
+
+ test "has many associations on new records use null relations" do
+ post = Post.new
+
+ assert_no_queries do
+ assert_equal [], post.comments
+ assert_equal [], post.comments.where(body: 'omg')
+ end
+ end
end