Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
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.rb26
1 files changed, 25 insertions, 1 deletions
diff --git a/spec/helpers/projects/alert_management_helper_spec.rb b/spec/helpers/projects/alert_management_helper_spec.rb
index e1b01f4c196..57d781d9cb3 100644
--- a/spec/helpers/projects/alert_management_helper_spec.rb
+++ b/spec/helpers/projects/alert_management_helper_spec.rb
@@ -13,6 +13,8 @@ describe Projects::AlertManagementHelper do
let(:user_can_enable_alert_management) { true }
let(:setting_path) { edit_project_service_path(project, AlertsService) }
+ subject(:data) { helper.alert_management_data(current_user, project) }
+
before do
allow(helper)
.to receive(:can?)
@@ -27,11 +29,33 @@ describe Projects::AlertManagementHelper do
'enable-alert-management-path' => setting_path,
'empty-alert-svg-path' => match_asset_path('/assets/illustrations/alert-management-empty-state.svg'),
'user-can-enable-alert-management' => 'true',
- 'alert-management-enabled' => 'true'
+ 'alert-management-enabled' => 'false'
)
end
end
+ context 'with alerts service' do
+ let_it_be(:alerts_service) { create(:alerts_service, project: project) }
+
+ context 'when alerts service is active' do
+ it 'enables alert management' do
+ expect(data).to include(
+ 'alert-management-enabled' => 'true'
+ )
+ end
+ end
+
+ context 'when alerts service is inactive' do
+ it 'disables alert management' do
+ alerts_service.update(active: false)
+
+ expect(data).to include(
+ 'alert-management-enabled' => 'false'
+ )
+ end
+ end
+ end
+
context 'when user does not have requisite enablement permissions' do
let(:user_can_enable_alert_management) { false }