diff options
Diffstat (limited to 'spec/helpers/projects/alert_management_helper_spec.rb')
-rw-r--r-- | spec/helpers/projects/alert_management_helper_spec.rb | 35 |
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) } |