From 42604d4c33e6098ba696d464c9a7b3d16656bf54 Mon Sep 17 00:00:00 2001 From: Jose Ivan Vargas Date: Tue, 9 May 2017 10:09:20 -0500 Subject: Prevent project transfer if a new group is not selected --- spec/controllers/projects_controller_spec.rb | 45 ++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) (limited to 'spec/controllers') diff --git a/spec/controllers/projects_controller_spec.rb b/spec/controllers/projects_controller_spec.rb index a8be6768a47..f117598555b 100644 --- a/spec/controllers/projects_controller_spec.rb +++ b/spec/controllers/projects_controller_spec.rb @@ -226,6 +226,51 @@ describe ProjectsController do end end + describe '#transfer' do + render_views + + subject(:project) { create(:project) } + let(:admin) { create(:admin) } + let(:new_namespace) { create(:namespace) } + + it 'updates namespace' do + controller.instance_variable_set(:@project, project) + sign_in(admin) + + put :transfer, + namespace_id: project.namespace.id, + new_namespace_id: new_namespace.id, + id: project.id, + format: :js + + project.reload + + expect(project.namespace.id).to eq(new_namespace.id) + 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_id = project.namespace.id + + put :transfer, + namespace_id: old_namespace_id, + new_namespace_id: nil, + id: project.id, + format: :js + + project.reload + + expect(project.namespace.id).to eq(old_namespace_id) + expect(response).to have_http_status(200) + expect(flash[:alert]).to eq 'Please select a namespace to transfer the project to' + end + end + end + describe "#destroy" do let(:admin) { create(:admin) } -- cgit v1.2.1