diff options
author | Robert Schilling <rschilling@student.tugraz.at> | 2016-07-19 10:36:18 +0200 |
---|---|---|
committer | Robert Schilling <rschilling@student.tugraz.at> | 2016-07-19 11:12:03 +0200 |
commit | e552b4af26b68a8b4bedc775a128a8ecd59ff689 (patch) | |
tree | a579e7051dbf385946056a38525000a441c405ff /spec/requests | |
parent | 54d26c89f66abb2bfec7403fd6b3ed7700e73766 (diff) | |
download | gitlab-ce-e552b4af26b68a8b4bedc775a128a8ecd59ff689.tar.gz |
API: Expose 'developers_can_merge' for branches
Diffstat (limited to 'spec/requests')
-rw-r--r-- | spec/requests/api/branches_spec.rb | 40 |
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 |