diff options
Diffstat (limited to 'spec/gitlab_post_receive_spec.rb')
-rw-r--r-- | spec/gitlab_post_receive_spec.rb | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/spec/gitlab_post_receive_spec.rb b/spec/gitlab_post_receive_spec.rb index 82a0f8c..599dd1d 100644 --- a/spec/gitlab_post_receive_spec.rb +++ b/spec/gitlab_post_receive_spec.rb @@ -206,6 +206,30 @@ describe GitlabPostReceive do expect(gitlab_post_receive.exec).to eq(true) end end + + context 'when redirected message available' do + let(:message) do + <<-MSG + Project 'foo/bar' was moved to 'foo/baz'. + + Please update your Git remote: + + git remote set-url origin http://localhost:3000/foo/baz.git + MSG + end + let(:response) do + { + 'reference_counter_decreased' => true, + 'redirected_message' => message + } + end + + it 'prints redirected message' do + expect_any_instance_of(GitlabNet).to receive(:post_receive).and_return(response) + assert_redirected_message_printed(gitlab_post_receive) + expect(gitlab_post_receive.exec).to eq(true) + end + end end end @@ -252,4 +276,15 @@ describe GitlabPostReceive do "========================================================================" ).ordered end + + def assert_redirected_message_printed(gitlab_post_receive) + message = <<-MSG + Project 'foo/bar' was moved to 'foo/baz'. + + Please update your Git remote: + + git remote set-url origin http://localhost:3000/foo/baz.git + MSG + expect(gitlab_post_receive).to receive(:puts).with(message).ordered + end end |