aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases
diff options
context:
space:
mode:
authorRob Looby <robertjlooby@gmail.com>2015-05-08 13:52:33 -0500
committerRob Looby <robertjlooby@gmail.com>2015-05-08 15:28:28 -0500
commitad389286bbce5a43de34dc2df3968fa1f47181e1 (patch)
treedbfc594fd00406900ce7e4a207b3ec2a143e839c /activerecord/test/cases
parent6d951bda36c60d3d377ef63b22a855fbd2735df3 (diff)
downloadrails-ad389286bbce5a43de34dc2df3968fa1f47181e1.tar.gz
rails-ad389286bbce5a43de34dc2df3968fa1f47181e1.tar.bz2
rails-ad389286bbce5a43de34dc2df3968fa1f47181e1.zip
put dynamic matchers on the GeneratedAssociationMethods instead of model
Diffstat (limited to 'activerecord/test/cases')
-rw-r--r--activerecord/test/cases/finder_test.rb13
1 files changed, 13 insertions, 0 deletions
diff --git a/activerecord/test/cases/finder_test.rb b/activerecord/test/cases/finder_test.rb
index 4b819a82e8..daf8299242 100644
--- a/activerecord/test/cases/finder_test.rb
+++ b/activerecord/test/cases/finder_test.rb
@@ -17,6 +17,7 @@ require 'models/matey'
require 'models/dog'
require 'models/car'
require 'models/tyre'
+require 'models/electron'
class FinderTest < ActiveRecord::TestCase
fixtures :companies, :topics, :entrants, :developers, :developers_projects, :posts, :comments, :accounts, :authors, :customers, :categories, :categorizations, :cars
@@ -799,6 +800,18 @@ class FinderTest < ActiveRecord::TestCase
assert_nil Topic.find_by_title("The First Topic!")
end
+ def test_find_by_does_not_overwrite_method_on_class
+ Electron.create(name: 'First Electron')
+
+ assert_equal 0, Electron.times_called_find_by_name
+
+ Electron.find_by_name('First Electron')
+ assert_equal 1, Electron.times_called_find_by_name
+
+ Electron.find_by_name('Some Other Electron')
+ assert_equal 2, Electron.times_called_find_by_name
+ end
+
def test_find_by_one_attribute_bang
assert_equal topics(:first), Topic.find_by_title!("The First Topic")
assert_raises_with_message(ActiveRecord::RecordNotFound, "Couldn't find Topic") do