summaryrefslogtreecommitdiff
path: root/spec/requests/api/branches_spec.rb
diff options
context:
space:
mode:
authorRobert Schilling <rschilling@student.tugraz.at>2016-07-19 10:36:18 +0200
committerRobert Schilling <rschilling@student.tugraz.at>2016-07-19 11:12:03 +0200
commite552b4af26b68a8b4bedc775a128a8ecd59ff689 (patch)
treea579e7051dbf385946056a38525000a441c405ff /spec/requests/api/branches_spec.rb
parent54d26c89f66abb2bfec7403fd6b3ed7700e73766 (diff)
downloadgitlab-ce-e552b4af26b68a8b4bedc775a128a8ecd59ff689.tar.gz
API: Expose 'developers_can_merge' for branches
Diffstat (limited to 'spec/requests/api/branches_spec.rb')
-rw-r--r--spec/requests/api/branches_spec.rb40
1 files changed, 35 insertions, 5 deletions
diff --git a/spec/requests/api/branches_spec.rb b/spec/requests/api/branches_spec.rb
index c843e8cf7be..719da27f919 100644
--- a/spec/requests/api/branches_spec.rb
+++ b/spec/requests/api/branches_spec.rb
@@ -33,6 +33,7 @@ describe API::API, api: true do
expect(json_response['commit']['id']).to eq(branch_sha)
expect(json_response['protected']).to eq(false)
expect(json_response['developers_can_push']).to eq(false)
+ expect(json_response['developers_can_merge']).to eq(false)
end
it "should return a 403 error if guest" do
@@ -55,6 +56,7 @@ describe API::API, api: true do
expect(json_response['commit']['id']).to eq(branch_sha)
expect(json_response['protected']).to eq(true)
expect(json_response['developers_can_push']).to eq(false)
+ expect(json_response['developers_can_merge']).to eq(false)
end
it 'protects a single branch and developers can push' do
@@ -66,17 +68,43 @@ describe API::API, api: true do
expect(json_response['commit']['id']).to eq(branch_sha)
expect(json_response['protected']).to eq(true)
expect(json_response['developers_can_push']).to eq(true)
+ expect(json_response['developers_can_merge']).to eq(false)
end
- it 'protects a single branch and developers cannot push' do
+ it 'protects a single branch and developers can merge' do
put api("/projects/#{project.id}/repository/branches/#{branch_name}/protect", user),
- developers_can_push: 'tru'
+ developers_can_merge: true
expect(response).to have_http_status(200)
expect(json_response['name']).to eq(branch_name)
expect(json_response['commit']['id']).to eq(branch_sha)
expect(json_response['protected']).to eq(true)
expect(json_response['developers_can_push']).to eq(false)
+ expect(json_response['developers_can_merge']).to eq(true)
+ end
+
+ it 'protects a single branch and developers can push and merge' do
+ put api("/projects/#{project.id}/repository/branches/#{branch_name}/protect", user),
+ developers_can_push: true, developers_can_merge: true
+
+ expect(response).to have_http_status(200)
+ expect(json_response['name']).to eq(branch_name)
+ expect(json_response['commit']['id']).to eq(branch_sha)
+ expect(json_response['protected']).to eq(true)
+ expect(json_response['developers_can_push']).to eq(true)
+ expect(json_response['developers_can_merge']).to eq(true)
+ end
+
+ it 'protects a single branch and developers cannot push and merge' do
+ put api("/projects/#{project.id}/repository/branches/#{branch_name}/protect", user),
+ developers_can_push: 'tru', developers_can_merge: 'tr'
+
+ expect(response).to have_http_status(200)
+ expect(json_response['name']).to eq(branch_name)
+ expect(json_response['commit']['id']).to eq(branch_sha)
+ expect(json_response['protected']).to eq(true)
+ expect(json_response['developers_can_push']).to eq(false)
+ expect(json_response['developers_can_merge']).to eq(false)
end
context 'on a protected branch' do
@@ -84,27 +112,29 @@ describe API::API, api: true do
before do
project.repository.add_branch(user, protected_branch, 'master')
- create(:protected_branch, project: project, name: protected_branch, developers_can_push: true)
+ create(:protected_branch, project: project, name: protected_branch, developers_can_push: true, developers_can_merge: true)
end
it 'updates that a developer can push' do
put api("/projects/#{project.id}/repository/branches/#{protected_branch}/protect", user),
- developers_can_push: false
+ developers_can_push: false, developers_can_merge: false
expect(response).to have_http_status(200)
expect(json_response['name']).to eq(protected_branch)
expect(json_response['protected']).to eq(true)
expect(json_response['developers_can_push']).to eq(false)
+ expect(json_response['developers_can_merge']).to eq(false)
end
it 'does not update that a developer can push' do
put api("/projects/#{project.id}/repository/branches/#{protected_branch}/protect", user),
- developers_can_push: 'foobar'
+ developers_can_push: 'foobar', developers_can_merge: 'foo'
expect(response).to have_http_status(200)
expect(json_response['name']).to eq(protected_branch)
expect(json_response['protected']).to eq(true)
expect(json_response['developers_can_push']).to eq(true)
+ expect(json_response['developers_can_merge']).to eq(true)
end
end