diff options
Diffstat (limited to 'spec/gitlab_post_receive_spec.rb')
-rw-r--r-- | spec/gitlab_post_receive_spec.rb | 58 |
1 files changed, 53 insertions, 5 deletions
diff --git a/spec/gitlab_post_receive_spec.rb b/spec/gitlab_post_receive_spec.rb index 1b43db0..3a5dd38 100644 --- a/spec/gitlab_post_receive_spec.rb +++ b/spec/gitlab_post_receive_spec.rb @@ -63,7 +63,7 @@ describe GitlabPostReceive do context 'when redirected message available' do let(:message) do - <<-MSG + <<~MSG Project 'foo/bar' was moved to 'foo/baz'. Please update your Git remote: @@ -71,11 +71,12 @@ describe GitlabPostReceive do 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 @@ -83,6 +84,37 @@ describe GitlabPostReceive do assert_redirected_message_printed(gitlab_post_receive) expect(gitlab_post_receive.exec).to eq(true) end + + context 'when project created message is available' do + let(:message) do + <<~MSG + + The private project foo/bar was successfully created. + + To configure the remote, run: + git remote add origin http://localhost:3000/foo/bar.git + + To view the project, visit: + http://localhost:3000/foo/bar + + MSG + end + + let(:response) do + { + 'reference_counter_decreased' => true, + 'project_created_message' => message + } + end + + it 'prints project created message' do + expect_any_instance_of(GitlabNet).to receive(:post_receive).and_return(response) + + assert_project_created_message_printed(gitlab_post_receive) + + expect(gitlab_post_receive.exec).to be true + end + end end end @@ -129,9 +161,9 @@ describe GitlabPostReceive do "========================================================================" ).ordered end - + def assert_redirected_message_printed(gitlab_post_receive) - message = <<-MSG + message = <<~MSG Project 'foo/bar' was moved to 'foo/baz'. Please update your Git remote: @@ -140,4 +172,20 @@ describe GitlabPostReceive do MSG expect(gitlab_post_receive).to receive(:puts).with(message).ordered end + + def assert_project_created_message_printed(gitlab_post_receive) + message = <<~MSG + + The private project foo/bar was successfully created. + + To configure the remote, run: + git remote add origin http://localhost:3000/foo/bar.git + + To view the project, visit: + http://localhost:3000/foo/bar + + MSG + + expect(gitlab_post_receive).to receive(:puts).with(message).ordered + end end |