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

Check parents when rendering 'pending deletion' badges

If a group is scheduled for deletion, a badge is shown on the group
list page. This change will also show those badges for child items
of the to-be-deleted group.

Changelog: added
EE: true
parent 345ead1f
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