summaryrefslogtreecommitdiff
path: root/spec/gitlab_post_receive_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/gitlab_post_receive_spec.rb')
-rw-r--r--spec/gitlab_post_receive_spec.rb58
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