diff options
author | Kuldeep Aggarwal <kd.engineer@yahoo.co.in> | 2014-01-25 02:29:23 +0530 |
---|---|---|
committer | Kuldeep Aggarwal <kd.engineer@yahoo.co.in> | 2014-01-25 02:29:23 +0530 |
commit | 3a0ddf33945219ea65777c1813902d783245739d (patch) | |
tree | 15046447baa5423d672c116e273c9192bd2e2878 /activerecord/test/cases/finder_test.rb | |
parent | 0d24946903853e09fce1824d28d3ad7b210b71b5 (diff) | |
download | rails-3a0ddf33945219ea65777c1813902d783245739d.tar.gz rails-3a0ddf33945219ea65777c1813902d783245739d.tar.bz2 rails-3a0ddf33945219ea65777c1813902d783245739d.zip |
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 |