aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport
diff options
context:
space:
mode:
authorRonak Jangir <ronakjangir47@gmail.com>2015-07-25 19:50:15 +0530
committerRonak Jangir <ronakjangir47@gmail.com>2015-08-13 08:32:35 +0530
commitbfe75328761bcbb7933dcf7714f6049c094b62dc (patch)
tree2c745ff53e02a6d735b0aeab7e262ec4acc54ae4 /activesupport
parent2117a535b5ab5d88ccb9834fa14b28863ffb69cc (diff)
downloadrails-bfe75328761bcbb7933dcf7714f6049c094b62dc.tar.gz
rails-bfe75328761bcbb7933dcf7714f6049c094b62dc.tar.bz2
rails-bfe75328761bcbb7933dcf7714f6049c094b62dc.zip
Added helper methods to stub any instance
Diffstat (limited to 'activesupport')
-rw-r--r--activesupport/lib/active_support/testing/method_call_assertions.rb6
-rw-r--r--activesupport/test/testing/method_call_assertions_test.rb13
2 files changed, 18 insertions, 1 deletions
diff --git a/activesupport/lib/active_support/testing/method_call_assertions.rb b/activesupport/lib/active_support/testing/method_call_assertions.rb
index e3cbe40308..517f02e3ef 100644
--- a/activesupport/lib/active_support/testing/method_call_assertions.rb
+++ b/activesupport/lib/active_support/testing/method_call_assertions.rb
@@ -30,6 +30,10 @@ module ActiveSupport
def assert_not_called(object, method_name, message = nil, &block)
assert_called(object, method_name, message, times: 0, &block)
end
+
+ def stub_any_instance(klass, instance: klass.new)
+ klass.stub(:new, instance) { yield instance }
+ end
end
end
-end \ No newline at end of file
+end
diff --git a/activesupport/test/testing/method_call_assertions_test.rb b/activesupport/test/testing/method_call_assertions_test.rb
index a9908aea0d..652cbda8da 100644
--- a/activesupport/test/testing/method_call_assertions_test.rb
+++ b/activesupport/test/testing/method_call_assertions_test.rb
@@ -95,4 +95,17 @@ class MethodCallAssertionsTest < ActiveSupport::TestCase
assert_equal "Expected increment to be called 0 times, but was called 1 times.\nExpected: 0\n Actual: 1", error.message
end
+
+ def test_stub_any_instance
+ stub_any_instance(Level) do |instance|
+ assert_equal instance, Level.new
+ end
+ end
+
+ def test_stub_any_instance_with_instance
+ stub_any_instance(Level, instance: @object) do |instance|
+ assert_equal @object, instance
+ assert_equal instance, Level.new
+ end
+ end
end