2
我有触发作业的条件回调。如果经理发生变化,应该调用方法如何使用rspec测试条件ActiveRecord after_update回调?
class Employee < ActiveRecord::Base
after_update :employee_manager_on_change, if: :employee_id_changed?
def employee_manager_on_change
EmployeeManagerChangedJob.perform_later(id)
end
end
我很难测试这个。我需要像
context 'when changing manager' do
subject { user.manager = new_manager }
it 'calls employee_manager_on_change' do
expect { suject.run_callbacks :update }.to receive(:employee_manager_on_change)
end
end
任何人都知道什么是最好的方法呢?