Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Lopez <james@jameslopez.es>2018-08-29 11:14:37 +0300
committerJames Lopez <james@jameslopez.es>2018-08-29 11:14:37 +0300
commitd5632b6b91cbe3936c9ac6886b91adb24ce4013f (patch)
tree5cade2eec3b813418e815ca6ec02b18db53bb707
parent04845fdeae75ba5de7c93992a5d55663edf647e0 (diff)
add specs replicating transfer issue
-rw-r--r--spec/services/projects/transfer_service_spec.rb28
1 files changed, 28 insertions, 0 deletions
diff --git a/spec/services/projects/transfer_service_spec.rb b/spec/services/projects/transfer_service_spec.rb
index 1a85c52fc97..d49cca65a2b 100644
--- a/spec/services/projects/transfer_service_spec.rb
+++ b/spec/services/projects/transfer_service_spec.rb
@@ -169,6 +169,34 @@ describe Projects::TransferService do
it { expect(project.errors[:new_namespace]).to include('Cannot move project') }
end
+ context 'target namespace containing the same project name' do
+ before do
+ group.add_owner(user)
+
+ create(:project, name: project.name, group: group, path: 'other')
+
+ @result = transfer_project(project, user, group)
+ end
+
+ it { expect(@result).to eq false }
+ it { expect(project.namespace).to eq(user.namespace) }
+ it { expect(project.errors[:new_namespace]).to include('Project with same name or path in target namespace already exists') }
+ end
+
+ context 'target namespace containing the same project path' do
+ before do
+ group.add_owner(user)
+
+ create(:project, name: project.name, group: group)
+
+ @result = transfer_project(project, user, group)
+ end
+
+ it { expect(@result).to eq false }
+ it { expect(project.namespace).to eq(user.namespace) }
+ it { expect(project.errors[:new_namespace]).to include('Project with same name or path in target namespace already exists') }
+ end
+
def transfer_project(project, user, new_namespace)
service = Projects::TransferService.new(project, user)