Port Namespace#root_ancestor to CE

This commit is contained in:
Lin Jen-Shin 2018-06-26 17:58:51 +08:00
parent 2024522b51
commit d5a1910f0c
2 changed files with 17 additions and 0 deletions

View File

@ -228,6 +228,10 @@ class Namespace < ActiveRecord::Base
parent.present?
end
def root_ancestor
ancestors.reorder(nil).find_by(parent_id: nil)
end
def subgroup?
has_parent?
end

View File

@ -655,6 +655,19 @@ describe Namespace do
end
end
describe '#root_ancestor' do
it 'returns the top most ancestor', :nested_groups do
root_group = create(:group)
nested_group = create(:group, parent: root_group)
deep_nested_group = create(:group, parent: nested_group)
very_deep_nested_group = create(:group, parent: deep_nested_group)
expect(nested_group.root_ancestor).to eq(root_group)
expect(deep_nested_group.root_ancestor).to eq(root_group)
expect(very_deep_nested_group.root_ancestor).to eq(root_group)
end
end
describe '#remove_exports' do
let(:legacy_project) { create(:project, :with_export, :legacy_storage, namespace: namespace) }
let(:hashed_project) { create(:project, :with_export, namespace: namespace) }