diff --git a/ee/app/controllers/groups/security/policies_controller.rb b/ee/app/controllers/groups/security/policies_controller.rb
index 5f86ea9202d7957200a1ea55691720f582baca6b..d557363afe04464d0021738ef6ae17990ac4f2b0 100644
--- a/ee/app/controllers/groups/security/policies_controller.rb
+++ b/ee/app/controllers/groups/security/policies_controller.rb
@@ -94,7 +94,7 @@ def policy_configuration
       end
 
       def approvers
-        return unless @policy_type == :scan_result_policy
+        return unless ::Security::ScanResultPolicy::SCAN_RESULT_POLICY_TYPES.include?(@policy_type)
 
         result = ::Security::SecurityOrchestrationPolicies::FetchPolicyApproversService.new(
           policy: @policy,
diff --git a/ee/app/controllers/projects/security/policies_controller.rb b/ee/app/controllers/projects/security/policies_controller.rb
index 00c93311701b29b61fe77a714b7c2fa0893e9ecc..37ddc7ad0bbee306c329523a276a2aacf81b90bc 100644
--- a/ee/app/controllers/projects/security/policies_controller.rb
+++ b/ee/app/controllers/projects/security/policies_controller.rb
@@ -78,7 +78,7 @@ def policy_configuration
       end
 
       def approvers
-        return unless @policy_type == :scan_result_policy
+        return unless ::Security::ScanResultPolicy::SCAN_RESULT_POLICY_TYPES.include?(@policy_type)
 
         result = ::Security::SecurityOrchestrationPolicies::FetchPolicyApproversService.new(
           policy: @policy,
diff --git a/ee/spec/controllers/groups/security/policies_controller_spec.rb b/ee/spec/controllers/groups/security/policies_controller_spec.rb
index 5e8db6ce1ce06dc8c5b706b3eec2d0a359953395..b2edf7d54d74b60c4d5f3e0ab1fcaab67ab633cf 100644
--- a/ee/spec/controllers/groups/security/policies_controller_spec.rb
+++ b/ee/spec/controllers/groups/security/policies_controller_spec.rb
@@ -70,9 +70,9 @@
           expect(app['data-scan-result-approvers']).to be_nil
         end
 
-        context 'with scan result policy type' do
+        shared_examples 'scan result policy like type' do |type|
           let(:policy) { build(:scan_result_policy) }
-          let(:policy_type) { 'scan_result_policy' }
+          let(:policy_type) { type }
           let_it_be(:service_result) { { users: [user], groups: [group], roles: ['OWNER'], status: :success } }
 
           let(:service) do
@@ -101,6 +101,9 @@
           end
         end
 
+        it_behaves_like 'scan result policy like type', 'scan_result_policy'
+        it_behaves_like 'scan result policy like type', 'approval_policy'
+
         context 'when type is missing' do
           let(:policy_type) { nil }
 
diff --git a/ee/spec/requests/projects/security/policies_controller_spec.rb b/ee/spec/requests/projects/security/policies_controller_spec.rb
index c1d4723535d962e75079e0cc4e44af871c13a316..61461ebbd77cc42297c89b8eae1c9f294e73b97d 100644
--- a/ee/spec/requests/projects/security/policies_controller_spec.rb
+++ b/ee/spec/requests/projects/security/policies_controller_spec.rb
@@ -50,8 +50,8 @@
           expect(app['data-scan-result-approvers']).to be_nil
         end
 
-        context 'with scan result policy type' do
-          let_it_be(:type) { 'scan_result_policy' }
+        shared_examples 'scan result policy like type' do |type|
+          let_it_be(:type) { type }
           let_it_be(:policy) { build(:scan_result_policy) }
           let_it_be(:group) { create(:group) }
           let_it_be(:service_result) { { users: [user], groups: [group], roles: ['OWNER'], status: :success } }
@@ -79,6 +79,9 @@
           end
         end
 
+        it_behaves_like 'scan result policy like type', 'scan_result_policy'
+        it_behaves_like 'scan result policy like type', 'approval_policy'
+
         context 'when type is missing' do
           let_it_be(:edit) { edit_project_security_policy_url(project, id: policy[:name]) }