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