diff options
author | Robert Speicher <robert@gitlab.com> | 2018-06-26 18:08:23 +0300 |
---|---|---|
committer | Robert Speicher <robert@gitlab.com> | 2018-06-26 18:08:23 +0300 |
commit | 42532c9299078a794389d9c4e6f157a1196201b5 (patch) | |
tree | 627d3642e9384e4677f2ca24366d26c9324896da /spec/requests | |
parent | af9ac455d45cd8429a0ba365fe38a03173337652 (diff) | |
parent | 7e9448b747aa0be4ff3ea8446f50486501ded044 (diff) |
Merge branch 'dm-branch-api-can-push-fix' into 'master'
Fix branch API can_push attribute and add specs
See merge request gitlab-org/gitlab-ce!20156
Diffstat (limited to 'spec/requests')
-rw-r--r-- | spec/requests/api/branches_spec.rb | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/spec/requests/api/branches_spec.rb b/spec/requests/api/branches_spec.rb index 64f51d9843d..9bb6ed62393 100644 --- a/spec/requests/api/branches_spec.rb +++ b/spec/requests/api/branches_spec.rb @@ -155,6 +155,12 @@ describe API::Branches do end it_behaves_like 'repository branch' + + it 'returns that the current user cannot push' do + get api(route, current_user) + + expect(json_response['can_push']).to eq(false) + end end context 'when unauthenticated', 'and project is private' do @@ -169,6 +175,12 @@ describe API::Branches do it_behaves_like 'repository branch' + it 'returns that the current user can push' do + get api(route, current_user) + + expect(json_response['can_push']).to eq(true) + end + context 'when branch contains a dot' do let(:branch_name) { branch_with_dot.name } @@ -202,6 +214,23 @@ describe API::Branches do end end + context 'when authenticated', 'as a developer and branch is protected' do + let(:current_user) { create(:user) } + let!(:protected_branch) { create(:protected_branch, project: project, name: branch_name) } + + before do + project.add_developer(current_user) + end + + it_behaves_like 'repository branch' + + it 'returns that the current user cannot push' do + get api(route, current_user) + + expect(json_response['can_push']).to eq(false) + end + end + context 'when authenticated', 'as a guest' do it_behaves_like '403 response' do let(:request) { get api(route, guest) } |