diff options
author | utilum <oz@utilum.com> | 2018-07-23 14:16:45 +0300 |
---|---|---|
committer | utilum <oz@utilum.com> | 2018-08-13 13:05:14 +0200 |
commit | a72bca82301bc4851f40945f85711f5cefd10178 (patch) | |
tree | ba8388ed23ee929a0ae1ccfa9a105c0da0ced76c /activejob/test/support/integration/helper.rb | |
parent | bef6c8bbe8faf2cf3538e9611eaddc0b2da4d038 (diff) | |
download | rails-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