From ac7af45d8987422c2a529d3d87eae6d9bd608e12 Mon Sep 17 00:00:00 2001
From: Marco Wessel <marco@poop.nl>
Date: Sat, 31 Jan 2015 09:10:17 +0100
Subject: [PATCH] Add test for default branch protection configuration

---
 spec/services/git_push_service_spec.rb | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/spec/services/git_push_service_spec.rb b/spec/services/git_push_service_spec.rb
index 02c8133d2c6..3a75d65b5bc 100644
--- a/spec/services/git_push_service_spec.rb
+++ b/spec/services/git_push_service_spec.rb
@@ -110,6 +110,24 @@ describe GitPushService do
         service.execute(project, user, @blankrev, 'newrev', 'refs/heads/master')
       end
 
+      it "when pushing a branch for the first time with default branch protection disabled" do
+        ApplicationSetting.any_instance.stub(default_branch_protection: 0)
+
+        project.should_receive(:execute_hooks)
+        project.default_branch.should == "master"
+        project.protected_branches.should_not_receive(:create)
+        service.execute(project, user, @blankrev, 'newrev', 'refs/heads/master')
+      end
+
+      it "when pushing a branch for the first time with default branch protection set to 'developers can push'" do
+        ApplicationSetting.any_instance.stub(default_branch_protection: 1)
+
+        project.should_receive(:execute_hooks)
+        project.default_branch.should == "master"
+        project.protected_branches.should_receive(:create).with({ name: "master", developers_can_push: true })
+        service.execute(project, user, @blankrev, 'newrev', 'refs/heads/master')
+      end
+
       it "when pushing new commits to existing branch" do
         project.should_receive(:execute_hooks)
         service.execute(project, user, 'oldrev', 'newrev', 'refs/heads/master')
-- 
GitLab