summaryrefslogtreecommitdiff
path: root/spec/helpers/projects/alert_management_helper_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/helpers/projects/alert_management_helper_spec.rb')
-rw-r--r--spec/helpers/projects/alert_management_helper_spec.rb35
1 files changed, 32 insertions, 3 deletions
diff --git a/spec/helpers/projects/alert_management_helper_spec.rb b/spec/helpers/projects/alert_management_helper_spec.rb
index e836461b099..6f66a93b9ec 100644
--- a/spec/helpers/projects/alert_management_helper_spec.rb
+++ b/spec/helpers/projects/alert_management_helper_spec.rb
@@ -34,6 +34,7 @@ RSpec.describe Projects::AlertManagementHelper do
'empty-alert-svg-path' => match_asset_path('/assets/illustrations/alert-management-empty-state.svg'),
'user-can-enable-alert-management' => 'true',
'alert-management-enabled' => 'false',
+ 'has-managed-prometheus' => 'false',
'text-query': nil,
'assignee-username-query': nil
)
@@ -43,25 +44,53 @@ RSpec.describe Projects::AlertManagementHelper do
context 'with prometheus service' do
let_it_be(:prometheus_service) { create(:prometheus_service, project: project) }
- context 'when prometheus service is active' do
- it 'enables alert management' do
+ context 'when manual prometheus service is active' do
+ it "enables alert management and doesn't show managed prometheus" do
+ prometheus_service.update!(manual_configuration: true)
+
expect(data).to include(
'alert-management-enabled' => 'true'
)
+ expect(data).to include(
+ 'has-managed-prometheus' => 'false'
+ )
+ end
+ end
+
+ context 'when a cluster prometheus is available' do
+ let(:cluster) { create(:cluster, projects: [project]) }
+
+ it 'has managed prometheus' do
+ create(:clusters_applications_prometheus, :installed, cluster: cluster)
+
+ expect(data).to include(
+ 'has-managed-prometheus' => 'true'
+ )
end
end
context 'when prometheus service is inactive' do
- it 'disables alert management' do
+ it 'disables alert management and hides managed prometheus' do
prometheus_service.update!(manual_configuration: false)
expect(data).to include(
'alert-management-enabled' => 'false'
)
+ expect(data).to include(
+ 'has-managed-prometheus' => 'false'
+ )
end
end
end
+ context 'without prometheus service' do
+ it "doesn't have managed prometheus" do
+ expect(data).to include(
+ 'has-managed-prometheus' => 'false'
+ )
+ end
+ end
+
context 'with http integration' do
let_it_be(:integration) { create(:alert_management_http_integration, project: project) }