diff options
Diffstat (limited to 'spec/features/projects/integrations/prometheus_external_alerts_spec.rb')
-rw-r--r-- | spec/features/projects/integrations/prometheus_external_alerts_spec.rb | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/spec/features/projects/integrations/prometheus_external_alerts_spec.rb b/spec/features/projects/integrations/prometheus_external_alerts_spec.rb new file mode 100644 index 00000000000..7e56ca13e23 --- /dev/null +++ b/spec/features/projects/integrations/prometheus_external_alerts_spec.rb @@ -0,0 +1,34 @@ +# frozen_string_literal: true + +require 'spec_helper' + +RSpec.describe 'Prometheus external alerts', :js do + include_context 'project integration activation' + + let(:alerts_section_selector) { '.js-prometheus-alerts' } + let(:alerts_section) { page.find(alerts_section_selector) } + + context 'with manual configuration' do + before do + create(:prometheus_integration, project: project, api_url: 'http://prometheus.example.com', manual_configuration: '1', active: true) + end + + it 'shows the Alerts section' do + visit_project_integration('Prometheus') + + expect(alerts_section).to have_content('Alerts') + expect(alerts_section).to have_content('Receive alerts from manually configured Prometheus servers.') + expect(alerts_section).to have_content('URL') + expect(alerts_section).to have_content('Authorization key') + end + end + + context 'with no configuration' do + it 'does not show the Alerts section' do + visit_project_integration('Prometheus') + wait_for_requests + + expect(page).not_to have_css(alerts_section_selector) + end + end +end |