diff options
author | Jon Leighton <j@jonathanleighton.com> | 2010-11-27 11:31:17 +0000 |
---|---|---|
committer | Jon Leighton <j@jonathanleighton.com> | 2010-11-27 11:31:17 +0000 |
commit | 3a7f43ca6ecf1735e1a82d4a68ac8f62b5cf2fcf (patch) | |
tree | 4960911c58f2c47ecaf4f4579167270ba9c257a7 /activerecord/test/cases/relations_test.rb | |
parent | 1bc90044b655572a4b8aa3b323905e26d37e0f2b (diff) | |
parent | fd83f9d51583c080072dc9fd00f02ad742e265d4 (diff) | |
download | rails-3a7f43ca6ecf1735e1a82d4a68ac8f62b5cf2fcf.tar.gz rails-3a7f43ca6ecf1735e1a82d4a68ac8f62b5cf2fcf.tar.bz2 rails-3a7f43ca6ecf1735e1a82d4a68ac8f62b5cf2fcf.zip |
Merge branch 'master' into nested_has_many_through
Conflicts:
activerecord/CHANGELOG
activerecord/lib/active_record/associations.rb
Diffstat (limited to 'activerecord/test/cases/relations_test.rb')
-rw-r--r-- | activerecord/test/cases/relations_test.rb | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/activerecord/test/cases/relations_test.rb b/activerecord/test/cases/relations_test.rb index 7de7b95fa8..688fc70484 100644 --- a/activerecord/test/cases/relations_test.rb +++ b/activerecord/test/cases/relations_test.rb @@ -14,11 +14,18 @@ require 'models/bird' require 'models/car' require 'models/engine' require 'models/tyre' +require 'models/minivan' class RelationTest < ActiveRecord::TestCase fixtures :authors, :topics, :entrants, :developers, :companies, :developers_projects, :accounts, :categories, :categorizations, :posts, :comments, - :tags, :taggings, :cars + :tags, :taggings, :cars, :minivans + + def test_do_not_double_quote_string_id + van = Minivan.last + assert van + assert_equal van.id, Minivan.where(:minivan_id => van).to_a.first.minivan_id + end def test_bind_values relation = Post.scoped @@ -451,6 +458,27 @@ class RelationTest < ActiveRecord::TestCase assert_equal author, authors end + def test_find_all_using_where_twice_should_or_the_relation + david = authors(:david) + relation = Author.unscoped + relation = relation.where(:name => david.name) + relation = relation.where(:name => 'Santiago') + relation = relation.where(:id => david.id) + assert_equal [david], relation.all + end + + def test_find_all_with_multiple_ors + david = authors(:david) + relation = [ + { :name => david.name }, + { :name => 'Santiago' }, + { :name => 'tenderlove' }, + ].inject(Author.unscoped) do |memo, param| + memo.where(param) + end + assert_equal [david], relation.all + end + def test_exists davids = Author.where(:name => 'David') assert davids.exists? |