Есть ли способ попросить насмешку Minitest бросить тег при возврате
У меня есть метод, который вызывается..
before_save :notify_server
def notify_provision_server()
make_api_call(:delete)
## if the abort is returned the rails does not save the record
make_api_call(:post)
end
private
def make_api_call(http_method)
...
...
rescue StandardError
Airbrake.notify
throw :abort # Rails new syntax to avoid before_* callback to get saved
end
Я ищу смоделировать ту часть, в которой make_api_call возвращает throw :abort
test 'Test should not save the record when delete api fail' do
api_call_mock = MiniTest::Mock.new
api_call_mock.expect :call, -> { throw :abort } , [:delete]
device = Device.new
assert_difference ->{ Device.count }, 0 do
device.save
assert device.new_record?, "Device must be a new record"
assert_mock mock
end
end
Но, к сожалению, это не работает.Так как мне скинуть тэг в Minitest Mock