Port Namespace#root_ancestor to CE
This commit is contained in:
		
							parent
							
								
									2024522b51
								
							
						
					
					
						commit
						d5a1910f0c
					
				|  | @ -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 | ||||
|  |  | |||
|  | @ -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) } | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue