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:
Diffstat (limited to 'spec/services/projects/fork_service_spec.rb')
-rw-r--r--spec/services/projects/fork_service_spec.rb20
1 files changed, 15 insertions, 5 deletions
diff --git a/spec/services/projects/fork_service_spec.rb b/spec/services/projects/fork_service_spec.rb
index 0c109e26a6a..b759830d603 100644
--- a/spec/services/projects/fork_service_spec.rb
+++ b/spec/services/projects/fork_service_spec.rb
@@ -53,7 +53,7 @@ describe Projects::ForkService do
# This test is here because we had a bug where the from-project lost its
# avatar after being forked.
- # https://gitlab.com/gitlab-org/gitlab-ce/issues/26158
+ # https://gitlab.com/gitlab-org/gitlab-foss/issues/26158
it "after forking the from-project still has its avatar" do
# If we do not fork the project first we cannot detect the bug.
expect(to_project).to be_persisted
@@ -119,6 +119,7 @@ describe Projects::ForkService do
context 'repository in legacy storage already exists' do
let(:repository_storage) { 'default' }
let(:repository_storage_path) { Gitlab.config.repositories.storages[repository_storage].legacy_disk_path }
+ let(:params) { { namespace: @to_user.namespace } }
before do
stub_application_setting(hashed_storage_enabled: false)
@@ -129,12 +130,21 @@ describe Projects::ForkService do
gitlab_shell.remove_repository(repository_storage, "#{@to_user.namespace.full_path}/#{@from_project.path}")
end
+ subject { fork_project(@from_project, @to_user, params) }
+
it 'does not allow creation' do
- to_project = fork_project(@from_project, @to_user, namespace: @to_user.namespace)
+ expect(subject).not_to be_persisted
+ expect(subject.errors.messages).to have_key(:base)
+ expect(subject.errors.messages[:base].first).to match('There is already a repository with that name on disk')
+ end
- expect(to_project).not_to be_persisted
- expect(to_project.errors.messages).to have_key(:base)
- expect(to_project.errors.messages[:base].first).to match('There is already a repository with that name on disk')
+ context 'when repository disk validation is explicitly skipped' do
+ let(:params) { super().merge(skip_disk_validation: true) }
+
+ it 'allows fork project creation' do
+ expect(subject).to be_persisted
+ expect(subject.errors.messages).to be_empty
+ end
end
end