aboutsummaryrefslogtreecommitdiffstats
path: root/activejob/test/support/integration/helper.rb
diff options
context:
space:
mode:
authorutilum <oz@utilum.com>2018-07-23 14:16:45 +0300
committerutilum <oz@utilum.com>2018-08-13 13:05:14 +0200
commita72bca82301bc4851f40945f85711f5cefd10178 (patch)
treeba8388ed23ee929a0ae1ccfa9a105c0da0ced76c /activejob/test/support/integration/helper.rb
parentbef6c8bbe8faf2cf3538e9611eaddc0b2da4d038 (diff)
downloadrails-a72bca82301bc4851f40945f85711f5cefd10178.tar.gz
rails-a72bca82301bc4851f40945f85711f5cefd10178.tar.bz2
rails-a72bca82301bc4851f40945f85711f5cefd10178.zip
Add method_call_assertions and use them instead of Mocha
Six Mocha calls prove quite resistant to Minitestification. For example, if we replace ``` ActiveRecord::Associations::HasManyAssociation .any_instance .expects(:reader) .never ``` with `assert_not_called`, Minitest wisely raises ``` NameError: undefined method `reader' for class `ActiveRecord::Associations::HasManyAssociation' ``` as `:reader` comes from a deeply embedded abstract class, `ActiveRecord::Associations::CollectionAssociation`. This patch tackles this difficulty by adding `ActiveSupport::Testing::MethodCallAsserts#assert_called_on_instance_of` which injects a stubbed method into `klass`, and verifies the number of times it is called, similar to `assert_called`. It also adds a convenience method, `assert_not_called_on_instance_of`, mirroring `assert_not_called`. It uses the new method_call_assertions to replace the remaining Mocha calls in `ActiveRecord` tests. [utilum + bogdanvlviv + kspath]
Diffstat (limited to 'activejob/test/support/integration/helper.rb')
0 files changed, 0 insertions, 0 deletions