Skip to content
Snippets Groups Projects
Unverified Commit a8e006e3 authored by Rutger Wessels's avatar Rutger Wessels Committed by GitLab
Browse files

Merge branch '457718-show-pending-deletion' into 'master'

Include ancestors when checking if a group/project is marked for deletion

See merge request https://gitlab.com/gitlab-org/gitlab/-/merge_requests/168963



Merged-by: default avatarRutger Wessels <rwessels@gitlab.com>
Approved-by: default avatarAmelia Bauerly <abauerly@gitlab.com>
Approved-by: default avatarTetiana Chupryna <tchupryna@gitlab.com>
Reviewed-by: default avatarAbdul Wadood <awadood@gitlab.com>
Reviewed-by: default avatarSascha Eggenberger <seggenberger@gitlab.com>
parents b537f970 70277d13
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -7,7 +7,7 @@ module GroupChildEntity
prepended do
# For both group and project
expose :marked_for_deletion do |instance|
instance.marked_for_deletion?
instance.self_or_ancestor_marked_for_deletion.present?
end
 
expose :compliance_management_frameworks, if: ->(_instance, _options) { compliance_framework_available? }
Loading
Loading
Loading
Loading
@@ -2,7 +2,7 @@
 
require 'spec_helper'
 
RSpec.describe GroupChildEntity do
RSpec.describe GroupChildEntity, feature_category: :groups_and_projects do
include ExternalAuthorizationServiceHelpers
include Gitlab::Routing.url_helpers
 
Loading
Loading
@@ -74,4 +74,35 @@
end
end
end
describe 'marked_for_deletion' do
let_it_be(:subgroup) { create(:group, name: 'subgroup', parent: group) }
let_it_be(:sub_subgroup) { create(:group, name: 'subsubgroup', parent: subgroup) }
let_it_be(:project) { create(:project, name: 'project 1', group: group) }
before do
stub_licensed_features(adjourned_deletion_for_projects_and_groups: true)
stub_application_setting(deletion_adjourned_period: 14)
end
context 'when group is marked for deletion' do
before_all do
create(:group_deletion_schedule, group: group, marked_for_deletion_on: Date.today, deleting_user: user)
end
it 'returns true for child projects and groups' do
[group, subgroup, sub_subgroup, project].each do |object|
expect(described_class.new(object, request: request).as_json[:marked_for_deletion]).to eq(true)
end
end
end
context 'when group is not marked for deletion' do
it 'returns false for child projects and groups' do
[group, subgroup, sub_subgroup, project].each do |object|
expect(described_class.new(object, request: request).as_json[:marked_for_deletion]).to eq(false)
end
end
end
end
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment