diff options
author | Robert Speicher <robert@gitlab.com> | 2016-04-30 23:15:54 +0300 |
---|---|---|
committer | Robert Speicher <robert@gitlab.com> | 2016-04-30 23:15:54 +0300 |
commit | 6a56cff686a10f8e42d8b6ccc7daa36fa9b0ebdc (patch) | |
tree | 44c05a4f8b1e0c3bde24abeb5a2d861945f97694 /spec | |
parent | 40c38644a88b8f5e88e6fd3317421206d8ee851e (diff) | |
parent | c9577711cee5f9eec699711d39196480f400a746 (diff) |
Merge branch 'fix/handle-issue-move-access' into 'master'
Handle issue move access instead of raising error
Closes #15533
See merge request !3990
Diffstat (limited to 'spec')
-rw-r--r-- | spec/controllers/projects/issues_controller_spec.rb | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/spec/controllers/projects/issues_controller_spec.rb b/spec/controllers/projects/issues_controller_spec.rb index d6e4cd71ce6..2b2ad3b9412 100644 --- a/spec/controllers/projects/issues_controller_spec.rb +++ b/spec/controllers/projects/issues_controller_spec.rb @@ -40,6 +40,45 @@ describe Projects::IssuesController do end end + describe 'PUT #update' do + context 'when moving issue to another private project' do + let(:another_project) { create(:project, :private) } + + before do + sign_in(user) + project.team << [user, :developer] + end + + context 'when user has access to move issue' do + before { another_project.team << [user, :reporter] } + + it 'moves issue to another project' do + move_issue + + expect(response).to have_http_status :found + expect(another_project.issues).to_not be_empty + end + end + + context 'when user does not have access to move issue' do + it 'responds with 404' do + move_issue + + expect(response).to have_http_status :not_found + end + end + + def move_issue + put :update, + namespace_id: project.namespace.to_param, + project_id: project.to_param, + id: issue.iid, + issue: { title: 'New title' }, + move_to_project_id: another_project.id + end + end + end + describe 'Confidential Issues' do let(:project) { create(:project_empty_repo, :public) } let(:assignee) { create(:assignee) } |