diff options
author | Bob Van Landuyt <bob@gitlab.com> | 2017-04-30 20:06:11 +0200 |
---|---|---|
committer | Bob Van Landuyt <bob@gitlab.com> | 2017-05-01 11:14:24 +0200 |
commit | 2e2a63c8669a084ed3a3aa5e770158ea2cb43a9d (patch) | |
tree | 3dd6be25223a6fb48c0119a55b62efccade19680 /spec/lib/gitlab/database/rename_reserved_paths_migration | |
parent | 08b1bc3489e8d4e6d5786221bad090f16a1c021f (diff) | |
download | gitlab-ce-2e2a63c8669a084ed3a3aa5e770158ea2cb43a9d.tar.gz |
Rename child namespaces in migrationhelpers
Diffstat (limited to 'spec/lib/gitlab/database/rename_reserved_paths_migration')
-rw-r--r-- | spec/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_namespaces_spec.rb | 8 | ||||
-rw-r--r-- | spec/lib/gitlab/database/rename_reserved_paths_migration/v1_spec.rb | 54 |
2 files changed, 58 insertions, 4 deletions
diff --git a/spec/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_namespaces_spec.rb b/spec/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_namespaces_spec.rb index 6d58413edf2..a25c5da488a 100644 --- a/spec/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_namespaces_spec.rb +++ b/spec/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_namespaces_spec.rb @@ -21,13 +21,13 @@ describe Gitlab::Database::RenameReservedPathsMigration::V1::RenameNamespaces do parent = create(:namespace, path: 'parent') child = create(:namespace, path: 'the-path', parent: parent) - found_ids = subject.namespaces_for_paths(type: :wildcard). + found_ids = subject.namespaces_for_paths(type: :child). map(&:id) expect(found_ids).to contain_exactly(child.id) end end - context 'for wildcard namespaces' do + context 'for child namespaces' do it 'only returns child namespaces with the correct path' do _root_namespace = create(:namespace, path: 'THE-path') _other_path = create(:namespace, @@ -37,7 +37,7 @@ describe Gitlab::Database::RenameReservedPathsMigration::V1::RenameNamespaces do path: 'the-path', parent: create(:namespace)) - found_ids = subject.namespaces_for_paths(type: :wildcard). + found_ids = subject.namespaces_for_paths(type: :child). map(&:id) expect(found_ids).to contain_exactly(namespace.id) end @@ -165,7 +165,7 @@ describe Gitlab::Database::RenameReservedPathsMigration::V1::RenameNamespaces do expect(subject).to receive(:rename_namespace). with(migration_namespace(child_namespace)) - subject.rename_namespaces(type: :wildcard) + subject.rename_namespaces(type: :child) end end end diff --git a/spec/lib/gitlab/database/rename_reserved_paths_migration/v1_spec.rb b/spec/lib/gitlab/database/rename_reserved_paths_migration/v1_spec.rb new file mode 100644 index 00000000000..f8cc1eb91ec --- /dev/null +++ b/spec/lib/gitlab/database/rename_reserved_paths_migration/v1_spec.rb @@ -0,0 +1,54 @@ +require 'spec_helper' + +shared_examples 'renames child namespaces' do |type| + it 'renames namespaces' do + rename_namespaces = double + expect(described_class::RenameNamespaces). + to receive(:new).with(['first-path', 'second-path'], subject). + and_return(rename_namespaces) + expect(rename_namespaces).to receive(:rename_namespaces). + with(type: :child) + + subject.rename_wildcard_paths(['first-path', 'second-path']) + end +end + +describe Gitlab::Database::RenameReservedPathsMigration::V1 do + let(:subject) { FakeRenameReservedPathMigrationV1.new } + + before do + allow(subject).to receive(:say) + end + + describe '#rename_child_paths' do + it_behaves_like 'renames child namespaces' + end + + describe '#rename_wildcard_paths' do + it_behaves_like 'renames child namespaces' + + it 'should rename projects' do + rename_projects = double + expect(described_class::RenameProjects). + to receive(:new).with(['the-path'], subject). + and_return(rename_projects) + + expect(rename_projects).to receive(:rename_projects) + + subject.rename_wildcard_paths(['the-path']) + end + end + + describe '#rename_root_paths' do + it 'should rename namespaces' do + rename_namespaces = double + expect(described_class::RenameNamespaces). + to receive(:new).with(['the-path'], subject). + and_return(rename_namespaces) + expect(rename_namespaces).to receive(:rename_namespaces). + with(type: :top_level) + + subject.rename_root_paths('the-path') + end + end +end |