diff options
author | Douwe Maan <douwe@gitlab.com> | 2017-05-23 04:48:03 +0300 |
---|---|---|
committer | Douwe Maan <douwe@gitlab.com> | 2017-05-23 04:48:03 +0300 |
commit | ad47f2094bf61867d2b5e4c24540c7c5b8a6358d (patch) | |
tree | 20c61d1fe47a44dc150d5356f547b12c0ff6bfee /spec/controllers | |
parent | 3cfcbcf35badfdb21244f7f16c8640cd83b49205 (diff) | |
parent | ad80238507fd5e1efb205c9f72efcbe909821be5 (diff) |
Merge branch 'prevent-project-transfer' into 'master'
Prevent project transfer if a new group is not selected
Closes #25455
See merge request !11214
Diffstat (limited to 'spec/controllers')
-rw-r--r-- | spec/controllers/projects_controller_spec.rb | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/spec/controllers/projects_controller_spec.rb b/spec/controllers/projects_controller_spec.rb index a8be6768a47..4f6fc6691be 100644 --- a/spec/controllers/projects_controller_spec.rb +++ b/spec/controllers/projects_controller_spec.rb @@ -226,6 +226,50 @@ describe ProjectsController do end end + describe '#transfer' do + render_views + + let(:project) { create(:project) } + let(:admin) { create(:admin) } + let(:new_namespace) { create(:namespace) } + + it 'updates namespace' do + sign_in(admin) + + put :transfer, + namespace_id: project.namespace.path, + new_namespace_id: new_namespace.id, + id: project.path, + format: :js + + project.reload + + expect(project.namespace).to eq(new_namespace) + expect(response).to have_http_status(200) + end + + context 'when new namespace is empty' do + it 'project namespace is not changed' do + controller.instance_variable_set(:@project, project) + sign_in(admin) + + old_namespace = project.namespace + + put :transfer, + namespace_id: old_namespace.path, + new_namespace_id: nil, + id: project.path, + format: :js + + project.reload + + expect(project.namespace).to eq(old_namespace) + expect(response).to have_http_status(200) + expect(flash[:alert]).to eq 'Please select a new namespace for your project.' + end + end + end + describe "#destroy" do let(:admin) { create(:admin) } |