diff options
Diffstat (limited to 'spec/migrations/update_project_import_visibility_level_spec.rb')
-rw-r--r-- | spec/migrations/update_project_import_visibility_level_spec.rb | 86 |
1 files changed, 0 insertions, 86 deletions
diff --git a/spec/migrations/update_project_import_visibility_level_spec.rb b/spec/migrations/update_project_import_visibility_level_spec.rb deleted file mode 100644 index f8439fc4204..00000000000 --- a/spec/migrations/update_project_import_visibility_level_spec.rb +++ /dev/null @@ -1,86 +0,0 @@ -# frozen_string_literal: true - -require 'spec_helper' -require Rails.root.join('db', 'post_migrate', '20181219130552_update_project_import_visibility_level.rb') - -describe UpdateProjectImportVisibilityLevel do - let(:namespaces) { table(:namespaces) } - let(:projects) { table(:projects) } - let(:project) { projects.find_by_name(name) } - - before do - stub_const("#{described_class}::BATCH_SIZE", 1) - end - - context 'private visibility level' do - let(:name) { 'private-public' } - - it 'updates the project visibility' do - create_namespace(name, Gitlab::VisibilityLevel::PRIVATE) - create_project(name, Gitlab::VisibilityLevel::PUBLIC) - - expect { migrate! }.to change { project.reload.visibility_level }.to(Gitlab::VisibilityLevel::PRIVATE) - end - end - - context 'internal visibility level' do - let(:name) { 'internal-public' } - - it 'updates the project visibility' do - create_namespace(name, Gitlab::VisibilityLevel::INTERNAL) - create_project(name, Gitlab::VisibilityLevel::PUBLIC) - - expect { migrate! }.to change { project.reload.visibility_level }.to(Gitlab::VisibilityLevel::INTERNAL) - end - end - - context 'public visibility level' do - let(:name) { 'public-public' } - - it 'does not update the project visibility' do - create_namespace(name, Gitlab::VisibilityLevel::PUBLIC) - create_project(name, Gitlab::VisibilityLevel::PUBLIC) - - expect { migrate! }.not_to change { project.reload.visibility_level } - end - end - - context 'private project visibility level' do - let(:name) { 'public-private' } - - it 'does not update the project visibility' do - create_namespace(name, Gitlab::VisibilityLevel::PUBLIC) - create_project(name, Gitlab::VisibilityLevel::PRIVATE) - - expect { migrate! }.not_to change { project.reload.visibility_level } - end - end - - context 'no namespace' do - let(:name) { 'no-namespace' } - - it 'does not update the project visibility' do - create_namespace(name, Gitlab::VisibilityLevel::PRIVATE, type: nil) - create_project(name, Gitlab::VisibilityLevel::PUBLIC) - - expect { migrate! }.not_to change { project.reload.visibility_level } - end - end - - def create_namespace(name, visibility, options = {}) - namespaces.create({ - name: name, - path: name, - type: 'Group', - visibility_level: visibility - }.merge(options)) - end - - def create_project(name, visibility) - projects.create!(namespace_id: namespaces.find_by_name(name).id, - name: name, - path: name, - import_type: 'gitlab_project', - visibility_level: visibility) - end -end |