diff options
author | Yves Senn <yves.senn@gmail.com> | 2014-01-24 15:13:16 -0800 |
---|---|---|
committer | Yves Senn <yves.senn@gmail.com> | 2014-01-24 15:13:16 -0800 |
commit | 220ee0c74abdcdeb62f30d829ba1475d63634241 (patch) | |
tree | ed80b6f6af8a94d31fea07f446d67aba4c664722 /activerecord/test/cases/finder_test.rb | |
parent | c438c61794f78d2b2f9023de707c84f9ee5e652f (diff) | |
parent | 3a0ddf33945219ea65777c1813902d783245739d (diff) | |
download | rails-220ee0c74abdcdeb62f30d829ba1475d63634241.tar.gz rails-220ee0c74abdcdeb62f30d829ba1475d63634241.tar.bz2 rails-220ee0c74abdcdeb62f30d829ba1475d63634241.zip |
Merge pull request #13785 from kuldeepaggarwal/fix-find_with_multiple_ids
Fix `ActiveRecord::RecordNotFound` error message with custom primary key
Diffstat (limited to 'activerecord/test/cases/finder_test.rb')
-rw-r--r-- | activerecord/test/cases/finder_test.rb | 31 |
1 files changed, 24 insertions, 7 deletions
diff --git a/activerecord/test/cases/finder_test.rb b/activerecord/test/cases/finder_test.rb index 47c2217161..b1eded6494 100644 --- a/activerecord/test/cases/finder_test.rb +++ b/activerecord/test/cases/finder_test.rb @@ -951,14 +951,23 @@ class FinderTest < ActiveRecord::TestCase end def test_find_one_message_with_custom_primary_key - Toy.primary_key = :name - begin - Toy.find 'Hello World!' - rescue ActiveRecord::RecordNotFound => e - assert_equal 'Couldn\'t find Toy with name=Hello World!', e.message + table_with_custom_primary_key do |model| + model.primary_key = :name + e = assert_raises(ActiveRecord::RecordNotFound) do + model.find 'Hello World!' + end + assert_equal %Q{Couldn't find MercedesCar with 'name'=Hello World!}, e.message + end + end + + def test_find_some_message_with_custom_primary_key + table_with_custom_primary_key do |model| + model.primary_key = :name + e = assert_raises(ActiveRecord::RecordNotFound) do + model.find 'Hello', 'World!' + end + assert_equal %Q{Couldn't find all MercedesCars with 'name': (Hello, World!) (found 0 results, but was looking for 2)}, e.message end - ensure - Toy.reset_primary_key end def test_find_without_primary_key @@ -979,4 +988,12 @@ class FinderTest < ActiveRecord::TestCase ActiveRecord::Base.send(:replace_bind_variables, statement, vars) end end + + def table_with_custom_primary_key + yield(Class.new(Toy) do + def self.name + 'MercedesCar' + end + end) + end end |