Avoid expect_any_instance_of because it doesn't work

well with prepend. We need to backport this
This commit is contained in:
Lin Jen-Shin 2017-07-31 20:30:18 +08:00
parent a9f56ae168
commit b720c22fb4

View file

@ -37,18 +37,18 @@ describe Projects::TransferService do
end end
it 'executes system hooks' do it 'executes system hooks' do
expect_any_instance_of(described_class).to receive(:execute_system_hooks) transfer_project(project, user, group) do |service|
expect(service).to receive(:execute_system_hooks)
transfer_project(project, user, group) end
end end
end end
context 'when transfer fails' do context 'when transfer fails' do
let!(:original_path) { project_path(project) } let!(:original_path) { project_path(project) }
def attempt_project_transfer def attempt_project_transfer(&block)
expect do expect do
transfer_project(project, user, group) transfer_project(project, user, group, &block)
end.to raise_error(ActiveRecord::ActiveRecordError) end.to raise_error(ActiveRecord::ActiveRecordError)
end end
@ -80,9 +80,9 @@ describe Projects::TransferService do
end end
it "doesn't run system hooks" do it "doesn't run system hooks" do
expect_any_instance_of(described_class).not_to receive(:execute_system_hooks) attempt_project_transfer do |service|
expect(service).not_to receive(:execute_system_hooks)
attempt_project_transfer end
end end
end end
@ -120,7 +120,11 @@ describe Projects::TransferService do
end end
def transfer_project(project, user, new_namespace) def transfer_project(project, user, new_namespace)
Projects::TransferService.new(project, user).execute(new_namespace) service = Projects::TransferService.new(project, user)
yield(service) if block_given?
service.execute(new_namespace)
end end
context 'visibility level' do context 'visibility level' do